Fonctionnement

- Étapes 1 et 2 : l’utilisateur s’authentifie via la trousse SDK d’Apple sur son appareil iOS et reçoit un code d’autorisation dans la réponse. L’utilisateur n’a pas besoin de quitter l’application et d’utiliser un navigateur pour se connecter.
-
Étape 3 : L’application appelle le point de terminaison
/oauth/tokend’Auth0 pour échanger le code d’autorisation d’Apple contre les jetons Auth0. - Étapes 4 et 5 : La plateforme Auth0 échange le code d’autorisation avec Apple contre des jetons. Auth0 valide les jetons et utilise les demandes dans les jetons pour construire l’identité de l’utilisateur.
- Étape 6 : Auth0 enregistre le profil utilisateur, exécute les règles et l’autorisation, puis émet des jetons d’accès Auth0 (jetons d’actualisation et jetons d’ID) comme demandé. Ces jetons sont utilisés pour protéger vos API et utilisateurs gérés par Auth0.
Prérequis
- Disposer d’un compte Développeur Apple, qui est un compte payant avec Apple. (Il n’y a pas d’essai gratuit disponible à moins que vous ne fassiez partie de leur iOS Developer University Program (Programme universitaire pour développeurs iOS.))
-
Enregistrer votre application sur le portail des développeurs Apple si vous ne l’avez pas déjà fait. Notez les ID et la clé suivants pour les réglages de connexion de l’application dans le :
- ID de l’application
- ID d’équipe Apple
- Clé de connexion secrète du client
- ID de clé
-
Si vous utilisez le flux de connexion classique ou l’intégration
Lock.jsdans votre application, assurez-vous que vous utilisez une versionLock.js11.16 ou ultérieure.
Configurer et activer la connexion dans Auth0
- Accédez à Auth0 Dashboard > Applications > Applications, sélectionnez votre application, puis l’icône d’engrenage pour afficher la page des réglages.
-
Faites défiler jusqu’au bas de la page et sélectionnez Show Advanced Settings (Afficher les paramètres avancés) et sélectionnez l’affichage Device Settings (Réglages de l’appareil) Sous Native Social Login (Connexion sociale native), activez la bascule Native Social Login (Activer la connexion avec Apple).

- Sous iOS, renseignez le champ ID de l’application avec l’ID de l’application/l’identifiant du bundle.
- Accédez à Auth0 Dashboard >Authentification > Social (Sociale) et sélectionnez Create Connection (Créer une connexion).
- Sélectionnez la connexion Apple et donnez votre consentement.
-
Sur l’onglet Settings (Réglages), renseignez les champs suivants :
- ID d’équipe Apple
- Client Secret Signing Key (Clé de connexion secrète du client)
-
ID de clé

- Sélectionnez l’affichage Applications pour activer la connexion pour votre application.
- Cliquez sur Save (Enregistrer).
Les applications natives ne peuvent pas être testées à partir d’un navigateur. Cela signifie que le bouton Try Connection (Essayer la connexion) dans la connexion Apple sert uniquement à tester les flux de type Web.
Déconnexion
- Révoquer le jeton d’actualisation Auth0
- Supprimer le jeton d’actualisation Auth0 stocké dans la iCloud Keychain
- Supprimer l’identifiant utilisateur Apple stocké dans la iCloud Keychain Gardez également à l’esprit que la déconnexion peut résulter des actions de l’utilisateur (par exemple, en cliquant sur un bouton « Déconnexion ») ou d’un utilisateur révoquant l’accès à l’application en question. Ce dernier sera indiqué par la méthode native ASAuthorizationAppleIDProvider.getCredentialState.
Une nuance de l’IdP d’Apple est qu’il ne renvoie que les permissions demandées (telles que le courriel, le prénom et le nom de famille) dans le jeton d’ID sur la première réponse. Des approches plus destructives de déconnexion (telles que la suppression de l’utilisateur) pourraient entraîner la perte d’informations de profil, ce qui obligerait les utilisateurs finaux à désautoriser et à réautoriser une application.