- 2 API Node.js :
contactsetcalendar(vous pouvez les considérer comme des microservices) - 1 Resource Server représentant les 2 API
- 2 scopes qualifiés par espace de noms :
read:contactsetread:calendar - Le flux Implicit Grant pour obtenir un
access_tokenqui fonctionne pour les deux API
Organizer Service. Nous créerons ensuite deux scopes pour montrer comment utiliser le flux implicite afin d’accéder aux API calendar et contacts à partir de la SPA.
Vous devez effectuer les étapes suivantes :
- Activer une connexion pour votre application
- Créer un utilisateur de test
- Enregistrer une API logique dans Auth0
- Configurer des scopes pour l’API logique
- Accorder l’accès à l’API logique
- (Facultatif) Mettre en œuvre la déconnexion unique (SLO) ou l’authentification unique (SSO)
Prérequis
-
Enregistrez votre application.
- Sélectionnez Single-Page App comme Application Type.
- Ajoutez
http://localhost:3000ethttp://localhost:3000/callback.htmlaux Allowed Callback URLs.
- Téléchargez l’application d’exemple. Pour savoir comment la configurer, consultez le README.
Activer une connexion pour votre application
Créer un utilisateur de test
Enregistrer une API logique dans Auth0
Organizer Service et définissez son identifiant unique sur organize. Par défaut, l’ des jetons obtenus pour cette API est RS256, que vous devriez laisser tel quel. Pour en savoir plus, consultez Enregistrer des API.
Configurer les permissions pour l’API logique
read à partir d’une API nommée calendar et d’une autre nommée contacts; vous devrez donc créer les permissions suivantes :
read:calendarread:contacts
Accorder l’accès à l’API logique
- Si vous avez une application machine à machine, vous pouvez l’autoriser à demander des jetons d’accès pour votre API en exécutant un flux d’identifiants du client.
- Si vous créez une application native, vous pouvez mettre en œuvre le flux de code d’autorisation avec clé de preuve pour l’échange de code (PKCE).
-
L’utilisateur clique sur Login dans la SPA, puis l’application redirige l’utilisateur vers l’Auth0 Authorization Server (point de terminaison
/authorize). Pour en savoir plus sur les paramètres de la requête, consultez notre tutoriel : Appeler votre API à l’aide du flux de code d’autorisation avec PKCE.
-
Votre Auth0 Authorization Server redirige l’utilisateur vers la page de connexion, où il s’authentifie à l’aide de l’une des options de connexion configurées.

-
S’il s’agit de la première fois que l’utilisateur passe par ce flux, il voit un écran de consentement qui présente les permissions qu’Auth0 accordera à la SPA. Dans ce cas, on lui demande d’autoriser l’application à lire ses contacts et son calendrier.

-
Si l’utilisateur donne son consentement, Auth0 le redirige vers la SPA avec des jetons dans le fragment de hachage de l’URI. La SPA peut maintenant extraire les jetons du fragment de hachage à l’aide de JavaScript et utiliser le jeton d’accès pour appeler vos API au nom de l’utilisateur.
Dans notre exemple, après vous être connecté avec succès, vous verrez des boutons qui vous permettront d’appeler l’une ou l’autre de vos API à l’aide du jeton d’accès obtenu auprès de l’API logique.

Mettre en œuvre la déconnexion unique (SLO) ou l’authentification unique (SSO)
checkSession(), si une session existe. Si aucune session n’existe, vous pouvez alors déconnecter l’utilisateur de l’application. La même méthode de vérification périodique peut être utilisée pour mettre en œuvre l’authentification silencieuse dans un scénario de (SSO).
L’intervalle entre les vérifications effectuées au moyen de checkSession() devrait être d’au moins 15 minutes afin d’éviter tout problème futur lié à la limitation du débit de cette requête.