Ce tutoriel vous aidera à appeler votre propre API à l’aide du flux de code d’autorisation. Si vous voulez comprendre comment ce flux fonctionne et pourquoi vous devriez l’utiliser, consultez Flux de code d’autorisation. Si vous voulez apprendre à ajouter la connexion à votre application Web régulière, consultez Ajouter la connexion à l’aide du flux de code d’autorisation.
- Guides de démarrage rapide pour les applications Web régulières : la façon la plus simple d’implémenter ce flux.
- Authentication API : si vous préférez créer votre propre solution, poursuivez votre lecture pour apprendre à appeler directement notre API.
Prérequis
-
Enregistrez votre application auprès d’Auth0.
- Sélectionnez le type d’application Applications Web régulières.
- Ajoutez l’URL de callback autorisée
{https://yourApp/callback}. - Assurez-vous que les types d’octroi de votre application incluent Authorization Code. Pour savoir comment faire, consultez Mettre à jour les types d’octroi.
- Si vous voulez que votre application puisse utiliser des jetons d’actualisation, assurez-vous que les types d’octroi de l’application incluent refresh token. Pour savoir comment faire, consultez Mettre à jour les types d’octroi. Pour en savoir plus sur les jetons d’actualisation, consultez les jetons d’actualisation.
-
Enregistrez votre API auprès d’Auth0
- Si vous voulez que votre API reçoive des jetons d’actualisation afin d’obtenir de nouveaux jetons lorsque les précédents expirent, activez Autoriser l’accès hors ligne.
Étapes
Autoriser l’utilisateur
Autoriser l’utilisateur
Cette étape peut inclure un ou plusieurs des processus suivants :
- Authentifier l’utilisateur
- Rediriger l’utilisateur vers un fournisseur d’identité pour gérer l’authentification
- Vérifier s’il existe des sessions d’authentification unique (SSO) actives
- Obtenir le consentement de l’utilisateur pour le niveau d’autorisation demandé, à moins qu’il n’ait déjà été accordé.
Exemple d’URL d’autorisation
Paramètres
Notez que, pour autoriser un utilisateur lors de l’appel d’une API personnalisée, vous :- devez inclure un paramètre audience
- pouvez inclure des scopes supplémentaires pris en charge par l’API cible
Par exemple, l’extrait HTML de votre URL d’autorisation pour ajouter la connexion à votre application pourrait ressembler à ceci :
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 302. Le code d’autorisation est inclus à la fin de l’URL :Obtenir des jetons
Obtenir des jetons
Maintenant que vous disposez d’un Authorization Code, vous devez l’échanger contre des jetons. À l’aide de l’Authorization Code (Les ID tokens contiennent des informations sur l’utilisateur qui doivent être décodées et extraites.Les jetons d’accès servent à appeler le point de terminaison /userinfo de l’Authentication API Auth0 ou une autre API. Si vous appelez votre propre API, la première chose que votre API devra faire est de vérifier le jeton d’accès.Les jetons d’actualisation permettent d’obtenir un nouveau jeton d’accès ou jeton d’identité après l’expiration du précédent. Le
code) extrait à l’étape précédente, vous devrez effectuer un POST vers l’URL du jeton.Exemple de POST vers l’URL du jeton
Paramètres
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 200 avec un payload contenant les valeurs access_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 Auth0 Dashboard.Effectuer un appel à l’API
Effectuer un appel à l’API
Pour appeler votre API à partir d’une Application Web régulière, l’application doit transmettre le jeton d’accès récupéré dans l’en-tête Authorization de votre requête HTTP, sous forme de Bearer Token.
Échange du jeton d’actualisation
Échange du jeton d’actualisation
Vous avez déjà reçu un jeton d’actualisation si vous avez suivi ce tutoriel et complété les étapes suivantes :
- configuré votre API pour permettre l’accès hors ligne
- inclus le scope
offline_accesslorsque vous avez lancé la requête d’authentification au moyen du point de terminaison authorize.
POST au point de terminaison /oauth/token de l’Authentication API, avec grant_type=refresh_token.Exemple de POST vers l’URL du jeton
Paramètres
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 200 avec un payload contenant un nouvel access_token, sa durée de vie en secondes (expires_in), les valeurs de scope octroyées et le token_type. Si le scope du jeton initial incluait openid, la réponse inclura également un nouvel id_token :