Cómo funciona

- Pasos 1 y 2: El usuario se autentica mediante el SDK de Apple en su dispositivo iOS y recibe un código de autorización en la respuesta. El usuario no tiene que salir de la aplicación ni usar un navegador para iniciar sesión.
-
Paso 3: La aplicación llama al endpoint
/oauth/tokende Auth0 para intercambiar el código de autorización de Apple por tokens de Auth0. - Pasos 4 y 5: La plataforma de Auth0 intercambia el código de autorización con Apple por tokens. Auth0 valida los tokens y usa los claims de estos tokens para construir la identidad del usuario.
- Paso 6: Auth0 guarda el perfil del usuario, ejecuta Rules y la autorización, y luego emite de Auth0 ( e ) según corresponda. Estos tokens se usan para proteger sus API y a los usuarios administrados por Auth0.
Requisitos previos
- Tener una cuenta de Apple Developer, que es una cuenta de pago de Apple. (No hay ninguna prueba gratuita disponible, a menos que formes parte de su iOS Developer University Program.)
-
Registrar tu aplicación en el portal para desarrolladores de Apple si aún no lo has hecho. Anota los siguientes ID y la clave para la configuración de la conexión de la aplicación en el :
- App ID
- Apple Team ID
- Client Secret Signing Key
- Key ID
-
Si usas el flujo de Classic Login o incorporas
Lock.jsen tu aplicación, asegúrate de usarLock.jsversión 11.16 o posterior.
Configure y habilite la conexión en Auth0
- Vaya a Auth0 Dashboard > Applications > Applications, elija su aplicación y seleccione el ícono de engranaje para ver la página de configuración.
-
En la parte inferior de la página, seleccione Show Advanced Settings y luego la vista Device Settings. En Native Social Login, active el interruptor Enable Sign In with Apple.

- En iOS, complete el campo App ID con el App ID/Bundle Identifier de la aplicación nativa.
- Vaya a Auth0 Dashboard > Authentication > Social y seleccione Create Connection.
- Seleccione la conexión Apple y acepte el consentimiento.
-
En la pestaña Settings, complete los siguientes campos:
- Apple Team ID
- Client Secret Signing Key
-
Key ID

- Seleccione la vista Applications para habilitar esta conexión para su aplicación.
- Haga clic en Save.
Las aplicaciones nativas no se pueden probar desde el navegador. Esto significa que el botón Try Connection de la conexión de Apple se usa exclusivamente para probar flujos basados en web.
Cerrar sesión
- Revocar el Token de actualización de Auth0
- Eliminar el token de actualización de Auth0 almacenado en el llavero de iCloud
- Eliminar el identificador de usuario de Apple almacenado en el llavero de iCloud Además, tenga en cuenta que el cierre de sesión puede producirse por acciones del usuario (por ejemplo, al hacer clic en un botón de “cerrar sesión”) o porque un usuario revoque el acceso a la aplicación. Esto último se indicará mediante el método nativo ASAuthorizationAppleIDProvider.getCredentialState.
Un matiz del IdP de Apple es que solo devuelve los alcances solicitados (como correo electrónico, nombre y apellido) en el token de ID en la primera respuesta. Los enfoques de cierre de sesión más destructivos (como eliminar al usuario) podrían provocar la pérdida de información del perfil, lo que obligaría a los usuarios finales a revocar la autorización y volver a autorizar una aplicación.