Fonctionnement

- Étapes 1 et 2 : L’utilisateur s’authentifie au moyen du SDK d’Apple sur son appareil iOS et reçoit un code d’autorisation dans la réponse. Il n’a pas à quitter l’application ni à utiliser un navigateur pour se connecter.
-
Étape 3 : L’application envoie une requête au point de terminaison
/oauth/tokend’Auth0 afin d’échanger le code d’autorisation Apple contre des 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 claims qu’ils contiennent pour construire l’identité de l’utilisateur.
- Étape 6 : Auth0 enregistre le profil de l’utilisateur, exécute les Rules et l’autorisation, puis émet des Auth0 ( et ) selon ce qui est demandé. Ces jetons servent à protéger vos API et vos utilisateurs gérés par Auth0.
Prérequis
- Avoir un compte Apple Developer, qui est un compte payant d’Apple. (Il n’y a pas d’essai gratuit, sauf si vous faites partie de leur iOS Developer University Program.)
-
Enregistrer votre application dans le portail Apple Developer si ce n’est pas déjà fait. Prenez en note les ID et la clé suivants pour les paramètres de connexion de l’application dans le :
- App ID
- Apple Team ID
- Client Secret Signing Key
- Key ID
-
Si vous utilisez le flux de connexion Classic Login ou intégrez
Lock.jsà votre application, assurez-vous d’utiliserLock.jsversion 11.16 ou ultérieure.
Configurer et activer la connexion dans Auth0
- Accédez à Auth0 Dashboard > Applications > Applications, choisissez votre application, puis sélectionnez l’icône d’engrenage pour afficher la page des paramètres.
-
Au bas de la page, sélectionnez Show Advanced Settings, puis la vue Device Settings. Sous Native Social Login, activez la bascule Enable Sign In with Apple.

- Sous iOS, remplissez le champ App ID avec l’App ID/le Bundle Identifier de l’application native.
- Accédez à Auth0 Dashboard > Authentication > Social, puis sélectionnez Create Connection.
- Sélectionnez la connexion Apple et donnez votre consentement.
-
Dans l’onglet Settings, remplissez les champs suivants :
- Apple Team ID
- Client Secret Signing Key
-
Key ID

- Sélectionnez la vue Applications pour activer cette connexion pour votre application.
- Cliquez sur Save.
Les applications natives ne peuvent pas être testées dans le navigateur. Cela signifie que le bouton Try Connection de la connexion Apple est utilisé exclusivement pour tester les flux Web.
Déconnexion
- Révoquer le jeton d’actualisation Auth0
- Supprimer le jeton d’actualisation Auth0 stocké dans le Keychain iCloud
- Supprimer l’identifiant utilisateur Apple stocké dans le Keychain iCloud De plus, gardez à l’esprit que la déconnexion peut résulter d’actions de l’utilisateur (par exemple, lorsqu’il clique sur un bouton « se déconnecter ») ou du fait qu’un utilisateur révoque l’accès à l’application en question. Ce dernier cas sera indiqué par la méthode native ASAuthorizationAppleIDProvider.getCredentialState.
Une particularité de l’IdP d’Apple est qu’il ne renvoie les scopes demandés (comme l’adresse courriel, le prénom et le nom de famille) dans le jeton ID que dans la première réponse. Des approches de déconnexion plus radicales (comme la suppression de l’utilisateur) pourraient entraîner une perte d’information de profil, ce qui obligerait les utilisateurs finaux à retirer l’autorisation de l’application puis à l’autoriser de nouveau.