Ce tutoriel vous aidera à appeler votre propre API à l’aide du flux de code d’autorisation. Si vous souhaitez comprendre le fonctionnement de ce flux et pourquoi vous devriez l’utiliser, consultez flux de code d’autorisation. Si vous souhaitez apprendre à ajouter une fonctionnalité de connexion à votre application web traditionnelle, consultez Add Login Using the flux de code d’autorisation.
- Quickstarts pour les applications web traditionnelles : 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 dans Auth0.
- Sélectionnez le Type d’application Regular Web Apps.
- Ajoutez l’URL de rappel autorisée
{https://yourApp/callback}. - Assurez-vous que les Types d’octroi de votre application incluent le Code d’autorisation. 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 le jeton d’actualisation. Pour savoir comment faire, consultez Mettre à jour les types d’octroi. Pour en savoir plus sur les jetons d’actualisation, consultez jetons d’actualisation.
-
Enregistrez votre API dans Auth0
- Si vous voulez que votre API reçoive des jetons d’actualisation pour pouvoir obtenir de nouveaux jetons lorsque les précédents expirent, activez Allow Offline Access.
Étapes
Autoriser un utilisateur
Autoriser un 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 la présence de sessions actives d’authentification unique (SSO)
- Obtenir le consentement de l’utilisateur pour le niveau de permission demandé, sauf si ce consentement a 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 pourrait ressembler à ceci lorsque vous ajoutez la connexion à votre application :
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 302. Le code d’autorisation est inclus à la fin de l’URL :Jetons de requête
Jetons de requête
Maintenant que vous disposez d’un code d’autorisation, vous devez l’échanger contre des jetons. À l’aide du code d’autorisation extrait (Les jetons d’ID contiennent des informations sur l’utilisateur qui doivent être décodées et extraites.Les jetons d’accès sont utilisés pour appeler le point de terminaison /userinfo de l’API d’authentification 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 servent à obtenir un nouveau jeton d’accès ou un jeton d’ID après l’expiration du précédent. Le
code) à 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 une charge utile 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 la portée offline_access et activé Allow Offline Access pour votre API dans le tableau de bord.Effectuez un appel d’API
Effectuez un appel d’API
Pour appeler votre API à partir d’une application Web traditionnelle, l’application doit transmettre le jeton d’accès récupéré comme jeton Bearer dans l’en-tête Authorization de votre requête HTTP.
Échanger un jeton d’actualisation
Échanger un jeton d’actualisation
Vous avez déjà reçu un jeton d’actualisation si vous avez suivi ce tutoriel et complété ce qui suit :
- configuré votre API pour permettre l’accès hors ligne
- inclus la portée
offline_accesslorsque vous avez lancé la requête d’authentification au moyen du point de terminaison authorize.
POST vers le point de terminaison /oauth/token de l’API d’authentification, en utilisant 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 une charge utile contenant un nouvel access_token, sa durée de vie en secondes (expires_in), les valeurs de scope accordées et le token_type. Si le scope du jeton initial incluait openid, la réponse comprendra également un nouvel id_token :