Ce tutoriel vous aidera à appeler votre propre API en utilisant le flux de code d’autorisation. Pour en savoir plus sur le fonctionnement du flux et pourquoi l’utiliser, voir Flux de code d’autorisation. Si vous souhaitez apprendre comment ajouter la connexion à votre application Web classique, consultez Ajout d’une connexion avec le flux de code d’autorisation.
- Guides de démarrage rapide pour applications Web classiques : la manière la plus simple d’implémenter le flux.
- Authentication API : Si vous préférez créer votre propre solution, continuez à lire pour savoir comment appeler notre API directement.
Prérequis
Avant de commencer ce tutoriel :-
Enregistrez votre application avec Auth0.
- Sélectionnez un Type d’application parmi les Applications Web classiques.
- Ajoutez une URL de rappel autorisée de
{https://yourApp/callback}. - Assurez-vous que les Types de consentement de votre application englobent le code d’autorisation. Pour en savoir plus, lisez Mettre à jour les types d’autorisation.
- Si vous souhaitez que votre application puisse utiliser des jetons d’actualisation, assurez-vous que les types de consentement de l’application incluent le jeton d’actualisation. Pour en savoir plus, lisez Mettre à jour les types d’autorisation. Pour en savoir plus sur les jetons d’actualisation, lisez Jetons d’actualisation.
-
Enregistrez votre application avec Auth0
- Si vous souhaitez 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
1 Autoriser l’utilisateur
1 Autoriser l’utilisateur
Cette étape peut comprendre un ou plusieurs des procédés suivant :
- Authentifier l’utilisateur
- Redirection de l’utilisateur vers un fournisseur d’identité pour gérer l’authentification
- Vérification des sessions actives d’authentification unique (SSO)
- Obtenir le consentement de l’utilisateur pour le niveau de permission demandé, sauf si obtenu précédemment.
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 d’audience
- pouvez inclure des permissions supplémentaires prises en charge par l’API cible
Par exemple, votre extrait HTML pour l’URL d’autorisation lors de l’ajout de l’enregistrement à votre application peut avoir l’air de ce qui suit :
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 302. Le code d’autorisation est compris à la fin de cette URL :2 Demander des jetons
2 Demander des jetons
Maintenant que vous avez un code d’authentification, vous pouvez l’échanger pour des jetons. En utilisant le code d’autorisation (Les Jetons d’ID contiennent des informations de 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’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 sont utilisés pour obtenir un nouveau jeton d’accès ou un nouveau jeton d’ID après l’expiration du précédent. Le
code) extrait de l’étape précédente, vous devrez POST sur l’URL du jeton.Exemple d’un POST à une URL de 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 permission offline_access et activé Autoriser l’accès hors ligne pour votre API dans le Dashboard.3 Effectuer un appel à l’API
3 Effectuer un appel à l’API
Pour appeler votre API à partir d’une application web ordinaire, l’application doit transmettre le jeton d’accès récupéré en tant que jeton du porteur dans l’en-tête Authorization (Autorisation) de votre requête HTTP.
4 Échange de jetons d’actualisation
4 Échange de jetons 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 autoriser l’accès hors ligne
- inclus la permission
offline_accesslorsque vous avez lancé la demande d’authentification via le point de terminaison d’autorisation.
POST au point de terminaison /oauth/token dans l’Authentication API, à l’aide de grant_type=refresh_token.Exemple de requête POST à une URL de jeton
Paramètres
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 200 avec une charge utile contenant un nouveau access_token, sa durée de vie en secondes (expires_in), les valeurs de permissions accordées et le token_type . Si la permission du jeton initial incluait openid, alors la réponse inclura également un nouveau id_token :