Skip to main content
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.
Auth0 permet à votre application d’implémenter facilement le flux de à l’aide de :

Prérequis

Avant de commencer ce tutoriel :

Étapes

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é.
Pour autoriser l’utilisateur, votre application doit rediriger l’utilisateur vers l’URL d’autorisation.

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éponse HTTP 302. Le code d’autorisation est inclus à la fin de l’URL :
Maintenant que vous disposez d’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 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éponse HTTP 200 avec une charge utile contenant les valeurs access_token, refresh_token, id_token et token_type :
Validez vos jetons avant de les enregistrer. Pour savoir comment, consultez Valider les jetons d’identité et Valider les jetons d’accès.
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 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.
Les jetons d’actualisation doivent être stockés de façon sécurisée, puisqu’ils permettent à un utilisateur de rester authentifié pratiquement indéfiniment.
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.
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_access lorsque vous avez lancé la requête d’authentification au moyen du point de terminaison authorize.
Vous pouvez utiliser le Refresh Token pour obtenir un nouveau jeton d’accès. En général, un utilisateur n’aura besoin d’un nouveau jeton d’accès qu’après l’expiration du précédent ou lors de l’accès à une nouvelle ressource pour la première fois. Il est déconseillé d’envoyer une requête à l’endpoint pour obtenir un nouveau jeton d’accès chaque fois que vous effectuez une requête vers une API. Auth0 applique des limites de débit qui restreignent le nombre de requêtes vers l’endpoint pouvant être exécutées avec le même jeton depuis la même adresse IP.Pour actualiser votre jeton, effectuez une requête 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éponse HTTP 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 :
Validez vos jetons avant de les enregistrer. Pour savoir comment, consultez Valider les jetons d’identité et Valider les jetons d’accès.

Exemples de scénarios d’utilisation

Personnaliser les jetons

Vous pouvez utiliser Auth0 Actions pour modifier les scopes d’un et/ou ajouter des claims personnalisées aux jetons d’accès et aux . Pour en savoir plus sur Auth0 Actions, consultez Comprendre le fonctionnement d’Auth0 Actions. Pour ce faire, ajoutez l’Action Post-Login suivante, qui s’exécutera une fois l’utilisateur authentifié :
Auth0 renvoie les informations du profil dans un format de claim structuré, tel que défini par la spécification OpenID Connect (OIDC). Cela signifie que les claims personnalisés ajoutés aux ID tokens ou aux jetons d’accès doivent respecter les directives et les restrictions afin d’éviter d’éventuels conflits.

En savoir plus