- Regular Web App Quickstarts : la façon la plus simple de mettre en œuvre ce flux.
- Authentication API : si vous préférez créer votre propre solution, poursuivez votre lecture pour apprendre à appeler directement notre API.
/userinfo ou vos propres API protégées. Pour en savoir plus sur les jetons d’identité, consultez Jetons d’identité. Pour en savoir plus sur les jetons d’accès, consultez Access Tokens.
Vous demanderez l’autorisation de l’utilisateur, puis vous serez redirigé vers votre application avec un authorization_code. Vous échangerez ensuite le code contre des jetons.
Prérequis
Enregistrez votre application dans Auth0. Pour en savoir plus, consultez Enregistrer des applications Web classiques.- Sélectionnez Application Web classique comme Type d’application.
- Ajoutez une URL de rappel autorisée :
{https://yourApp/callback}. - Assurez-vous que les Types d’octroi de votre application incluent le code d’autorisation. Pour en savoir plus, consultez Mettre à jour les type d’octroi.
Autoriser l’utilisateur
Pour lancer le flux, vous devrez obtenir l’autorisation de l’utilisateur. Cette étape peut inclure un ou plusieurs des processus suivants :- Authentifier l’utilisateur;
- Rediriger l’utilisateur vers un afin de procéder à l’authentification;
- Obtenir le consentement de l’utilisateur pour le niveau de permission demandé, à moins que ce consentement n’ait déjà été accordé.
Exemple d’URL d’autorisation
Paramètres
Par exemple, votre extrait HTML pour votre URL d’autorisation lorsque vous ajoutez le login à votre application pourrait ressembler à ceci :
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 302. Le code d’autorisation figure à la fin de l’URL :
Obtenir des jetons
Maintenant que vous avez un code d’autorisation, vous devez l’échanger contre des jetons. À l’aide du code d’autorisation extrait (code) à l’étape précédente, vous devrez envoyer une requête POST à l’URL du jeton.
Exemple de requête POST à l’URL du jeton
Paramètres
Réponse
Si tout se passe bien, vous recevrez une réponse HTTP 200 dont le corps contient les valeursaccess_token, refresh_token, id_token et token_type :
refresh_token ne sera présent dans la réponse que si vous avez inclus le scope offline_access et activé Allow Offline Access pour votre API dans le Dashboard.
Cas d’utilisation
Requête d’authentification de base
Cet exemple montre la requête la plus simple que vous pouvez effectuer pour autoriser l’utilisateur à l’étape 1. Il affiche l’écran de connexion Auth0 et permet à l’utilisateur de se connecter avec n’importe laquelle de vos connexions configurées : Maintenant, lorsque vous demandez des jetons, votre jeton d’identité contiendra les claims les plus élémentaires. Lorsque vous décoderez le jeton d’identité, il ressemblera à ceci :Demander le nom de l’utilisateur et sa photo de profil
En plus de l’authentification habituelle de l’utilisateur, cet exemple montre comment demander des renseignements supplémentaires sur l’utilisateur, comme son nom et sa photo de profil. Pour demander le nom et la photo de profil de l’utilisateur, vous devez ajouter lesscopes appropriés au moment d’autoriser l’utilisateur :
Maintenant, lorsque vous demandez des jetons, votre jeton d’identité contiendra les claims name et picture demandés. Une fois le jeton d’identité décodé, il ressemblera à ceci :
Demander à l’utilisateur de se connecter avec GitHub
En plus du processus habituel d’authentification des utilisateurs, cet exemple montre comment rediriger les utilisateurs directement vers un fournisseur d’identité social, comme GitHub. Vous devez d’abord configurer la connexion appropriée dans Auth0 Dashboard > Authentication > Social et récupérer le nom de la connexion dans l’onglet Settings. Pour envoyer les utilisateurs directement à l’écran de connexion à GitHub, vous devez transmettre le paramètreconnection et lui attribuer comme valeur le nom de la connexion (dans ce cas-ci, github) lors de l’autorisation de l’utilisateur à l’étape 1 :
Maintenant, lorsque vous demandez des jetons, votre jeton d’identité contiendra un champ sub avec l’ID unique de l’utilisateur renvoyé par GitHub. Lorsque vous décodez le jeton d’identité, il ressemblera à ceci :