Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Los grupos de identidades de Amazon Cognito interactúan con Inicio de sesión con Apple con el fin de ofrecer autenticación federada para los usuarios de las aplicaciones móvil y web. En esta sección se explica cómo registrar y configurar su aplicación con Inicio de sesión con Apple como proveedor de identidades (IdP).
Para agregar Iniciar sesión con Apple como proveedor de autenticación a un grupo de identidades debe completar dos procedimientos. En primer lugar, integrar Inicio de sesión con Apple en una aplicación y, a continuación, configurar Inicio de sesión con Apple en grupos de identidades. Para up-to-date obtener más información sobre cómo configurar el inicio de sesión con Apple, consulta Cómo configurar tu entorno para iniciar sesión con Apple
Configurar SignInWithApple
Para configurar Inicio de sesión con Apple como IdP, debe registrar su aplicación en Apple para recibir el ID de cliente.
-
Cree una cuenta de desarrollador en Apple
. -
Inicie sesión
con las credenciales de Apple. -
En el panel de navegación izquierdo, selecciona Certificados IDs y perfiles.
-
En el panel de navegación izquierdo, elija Identifiers (Identificadores).
-
En la página Identifiers (Identificadores), elija el icono +.
-
En la página Registrar un nuevo identificador, elija Aplicación y IDs, a continuación, elija Continuar.
-
En la página Register an App ID (Registrar un ID de aplicación), haga lo siguiente:
-
En Description (Descripción), escriba una descripción.
-
En Bundle ID (Identificador de paquete), escriba un identificador. Anote este ID de paquete, ya que necesitará este valor para definir a Apple como proveedor en el grupo de identidades.
-
En Capabilities (Funcionalidades), elija SignInWithApple y, a continuación, elija Edit (Editar).
-
En la página Inicio de sesión con Apple: configuración de ID de Apple, seleccione la configuración adecuada para la aplicación. A continuación, elija Guardar.
-
Elija Continue (Continuar).
-
-
En la página Confirm your App ID (Confirmar ID de Apple), elija Register (Registrarse).
-
Continúe con el paso 10 si desea integrar Sign in with Apple en una aplicación nativa de iOS. El paso 11 es para aplicaciones que desea integrar con Inicio de sesión con Apple JS.
-
En la página de identificadores, selecciona el IDs menú de la aplicación y, a continuación, Servicios IDs. Elija el icono +.
-
En la página Registrar un nuevo identificador, selecciona Servicios y IDs, a continuación, selecciona Continuar.
-
En la página Register a Services ID (Registrar un ID de servicio), haga lo siguiente:
-
En Description (Descripción), escriba una descripción.
-
En Identifier (Identificador), escriba un identificador. Anote el ID de servicios ya que necesita este valor para configurar Apple como proveedor en su grupo de identidades.
-
Seleccione Sign In with Apple (Inicio de sesión con Apple) y luego elija Configure (Configurar).
-
En la página Web Authentication Configuration (Configuración de autenticación web), elija Primary App ID (ID de aplicación principal). En Sitio web URLs, selecciona el icono +. En Domains and Subdomains (Dominios y subdominios), introduzca el nombre de dominio de su aplicación. A cambio URLs, introduce la URL de devolución de llamada a la que la autorización redirige al usuario después de que se autentique mediante Iniciar sesión con Apple.
-
Elija Next (Siguiente).
-
Seleccione Continue (Continuar) y, a continuación, Register (Registrarse).
-
-
En el panel de navegación izquierdo, elija Keys (Claves).
-
En la página Keys (Claves), elija el icono +.
-
En la página Register a New Key (Registrar una nueva clave), haga lo siguiente:
-
En Key Name (Nombre de clave), escriba un nombre de clave.
-
Elija Sign In with Apple y, a continuación, Configure (Configurar).
-
En la página Configure Key (Configurar clave), elija un Primary App ID (ID de aplicación principal) y luego elija Save (Guardar).
-
Seleccione Continue (Continuar) y, a continuación, Register (Registrarse).
-
nota
Para integrar Inicio de sesión con Apple con una aplicación iOS nativa, consulte Implementación de la autenticación de usuario con Inicio de sesión con Apple.
Para integrar Inicio de sesión con Apple en una plataforma que no sea nativa de iOS, consulte Inicio de sesión con Apple JS.
Configuración del proveedor externo en la consola de identidades federadas de Amazon Cognito
Utilice el siguiente procedimiento para configurar su proveedor externo.
Para agregar un inicio de sesión con el proveedor de identidades (IdP) de Apple
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Acceso de usuario.
-
Seleccione Agregar proveedor de identidades.
-
Elija Iniciar sesión con Apple.
-
Introduce el ID de servicios del OAuth proyecto que creaste con Apple Developer.
Para obtener más información, consulte Autenticación de usuarios con inicio de sesión con Apple en Iniciar sesión con documentación de Apple. -
Para establecer el rol que Amazon Cognito solicita cuando emite credenciales a los usuarios que se han autenticado con este proveedor, configure Configuración del rol.
-
Puede asignar a los usuarios de ese IdP el Rol predeterminado que configuró al configurar el Rol autenticado o puede Elegir el rol con reglas.
-
Si eligió Elegir rol con reglas, ingrese la Reclamación de origen de la autenticación del usuario, el Operador con el que desea comparar la afirmación, el Valor que hará que coincida con esta elección de rol y el Rol que desea asignar cuando la Asignación del rol coincida. Seleccione Agregar otra para crear una regla adicional en función de una condición diferente.
-
Elija una Resolución de rol. Cuando las reclamaciones del usuario no coinciden con las reglas, puede denegar las credenciales o emitir credenciales para el Rol autenticado.
-
-
-
Para cambiar las etiquetas de la entidad principal que Amazon Cognito asigna cuando emite credenciales a los usuarios que se han autenticado con este proveedor, configure Atributos para el control de acceso.
-
Para no aplicar ninguna etiqueta de entidad principal, elija Inactivo.
-
Para aplicar etiquetas de entidades principales en función de las reclamaciones
sub
yaud
, elija Usar mapeos predeterminados. -
Para crear su propio esquema personalizado de atributos para las etiquetas de la entidades principales, elija Usar mapeos personalizados. A continuación, ingrese una Clave de etiqueta que desee obtener de cada Reclamación que desee representar en una etiqueta.
-
-
Seleccione Guardar cambios.
SignInWithApple como proveedor en los ejemplos de la CLI de identidades federadas de Amazon Cognito
En este ejemplo se crea un grupo de identidades llamado MyIdentityPool
con Inicio de sesión con Apple como IdP.
aws cognito-identity create-identity-pool --identity-pool-name MyIdentityPool
--supported-login-providers appleid.apple.com="sameple.apple.clientid"
Para obtener más información, vea Crear grupo de identidades
Generación de un ID de identidad Amazon Cognito
En este ejemplo se genera (o se recupera) un ID de Amazon Cognito. Esta API es pública, por lo que no se necesita ninguna credencial para llamar a esta API.
aws cognito-identity get-id --identity-pool-id SampleIdentityPoolId --logins
appleid.apple.com="SignInWithAppleIdToken"
Para obtener más información, consulte get-id.
Obtención de credenciales para un ID de identidad de Amazon Cognito
En este ejemplo se devuelven las credenciales del ID de identidad proporcionado e Inicio de sesión con inicio de sesión de Apple. Esta API es pública, por lo que no se necesita ninguna credencial para llamar a esta API.
aws cognito-identity get-credentials-for-identity --identity-id SampleIdentityId
--logins appleid.apple.com="SignInWithAppleIdToken"
Para obtener más información, consulte get-credentials-for-identity
Usar Sign in with Apple: Android
Apple no proporciona un SDK que admita Inicio de sesión con Apple para Android. Puede utilizar el flujo web en una vista web en su lugar.
-
Para configurar Inicio de sesión con Apple en su aplicación, consulte el tema Configurar su página web para Inicio de sesión con Apple
en la documentación de Apple. -
Para agregar un botón Sign in with Apple (Iniciar sesión con Apple) a la interfaz de usuario de Android, consulte el tema Displaying and Configuring Sign In with Apple Buttons
en la documentación de Apple. -
Para autenticar de forma segura a los usuarios con Inicio de sesión con Apple, siga Autenticación de usuarios con Inicio de sesión con Apple
en la documentación de Apple.
En Sign in with Apple se utiliza un objeto de sesión para realizar seguimiento de su estado. Amazon Cognito utiliza el token de ID de este objeto de sesión para autenticar al usuario, generar el identificador único y, si es necesario, conceder al usuario acceso a otros recursos. AWS
@Override
public void onSuccess(Bundle response) {
String token = response.getString("id_token");
Map<String, String> logins = new HashMap<String, String>();
logins.put("appleid.apple.com", token);
credentialsProvider.setLogins(logins);
}
Usar Sign in with Apple: iOS - Objective-C
Apple proporcionó compatibilidad de SDK para Sign in with Apple en aplicaciones iOS nativas. Para implementar la autenticación de usuario con Inicio de sesión con Apple en dispositivos iOS nativos, consulte el tema Implementar la autenticación de usuarios con Inicio de sesión con Apple
Amazon Cognito utiliza el token de ID para autenticar al usuario, generar el identificador único y, si es necesario, conceder al usuario acceso a otros recursos. AWS
(void)finishedWithAuth: (ASAuthorizationAppleIDCredential *)auth error: (NSError *) error {
NSString *idToken = [ASAuthorizationAppleIDCredential objectForKey:@"identityToken"];
credentialsProvider.logins = @{ "appleid.apple.com": idToken };
}
Usar Sign in with Apple: iOS - Swift
Apple proporcionó compatibilidad de SDK para Sign in with Apple en aplicaciones iOS nativas. Para implementar la autenticación de usuario con Inicio de sesión con Apple en dispositivos iOS nativos, consulte el tema Implementar la autenticación de usuarios con Inicio de sesión con Apple
Amazon Cognito utiliza el token de ID para autenticar al usuario, generar el identificador único y, si es necesario, conceder al usuario acceso a otros recursos. AWS
Para obtener más información sobre cómo configurar Inicio de sesión con Apple en iOS, consulte Configurar Inicio de sesión con Apple
func finishedWithAuth(auth: ASAuthorizationAppleIDCredential!, error: NSError!) {
if error != nil {
print(error.localizedDescription)
}
else {
let idToken = auth.identityToken,
credentialsProvider.logins = ["appleid.apple.com": idToken!]
}
}
Utilice Iniciar sesión con Apple: JavaScript
Apple no proporciona un SDK que permita iniciar sesión con Apple para JavaScript. Puede utilizar el flujo web en una vista web en su lugar.
-
Para configurar Inicio de sesión con Apple en su aplicación, consulte el tema Configurar su página web para Inicio de sesión con Apple
en la documentación de Apple. -
Para añadir un botón de inicio de sesión con Apple a tu interfaz de JavaScript usuario, consulta Cómo mostrar y configurar el inicio de sesión con los botones de Apple
en la documentación de Apple. -
Para autenticar de forma segura a los usuarios mediante Inicio de sesión con Apple, consulte el tema Configurar su página web para Inicio de sesión con Apple
en la documentación de Apple.
En Sign in with Apple se utiliza un objeto de sesión para realizar seguimiento de su estado. Amazon Cognito utiliza el token de ID de este objeto de sesión para autenticar al usuario, generar el identificador único y, si es necesario, conceder al usuario acceso a otros recursos. AWS
function signinCallback(authResult) {
// Add the apple's id token to the Amazon Cognito credentials login map.
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: 'IDENTITY_POOL_ID',
Logins: {
'appleid.apple.com': authResult['id_token']
}
});
// Obtain AWS credentials
AWS.config.credentials.get(function(){
// Access AWS resources here.
});
}
Usar Sign in with Apple: Xamarin
No tenemos un SDK que admita Inicio de sesión con Apple para Xamarin. Puede utilizar el flujo web en una vista web en su lugar.
-
Para configurar Inicio de sesión con Apple en su aplicación, consulte el tema Configurar su página web para Inicio de sesión con Apple
en la documentación de Apple. -
Para agregar un botón Sign in with Apple (Iniciar sesión con Apple) a la interfaz de usuario de Xamarin, consulte el tema Displaying and Configuring Sign In with Apple Buttons
en la documentación de Apple. -
Para autenticar de forma segura a los usuarios mediante Inicio de sesión con Apple, consulte el tema Configurar su página web para Inicio de sesión con Apple
en la documentación de Apple.
En Sign in with Apple se utiliza un objeto de sesión para realizar seguimiento de su estado. Amazon Cognito utiliza el token de ID de este objeto de sesión para autenticar al usuario, generar el identificador único y, si es necesario, conceder al usuario acceso a otros recursos. AWS
Una vez que tenga el token, puede establecerlo en sus CognitoAWSCredentials
:
credentials.AddLogin("appleid.apple.com", token);