Ce tutoriel vous aidera à appeler votre propre API à l’aide du flux Hybride. Pour en savoir plus sur le fonctionnement du flux et pourquoi l’utiliser, voir Flux hybride.
- Authentication API : Si vous préférez créer votre propre solution, poursuivez la lecture pour savoir comment appeler notre API directement.
Prérequis
Avant de commencer ce tutoriel :-
Enregistrez votre application auprès d’Auth0.
- Sélectionnez le Type d’application approprié.
- Ajoutez une URL de rappel autorisée de
{https://yourApp/callback}. - Assurez-vous que les Types d’autorisation de votre application englobent Implicit (Implicite) et 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 d’autorisation de l’application comprennent 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 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 : Demandez l’autorisation de l’utilisateur et redirigez-le vers votre application à l’aide d’un code d’autorisation.
- Demande de jetons : Échange d’un code d’autorisation contre des jetons.
- Appel d’API : Servez-vous du jeton d’accès récupéré pour appeler votre API.
- Jetons d’actualisation : Utilisez un jeton d’actualisation pour demander de nouveaux jetons lorsque les jetons existants expirent.
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 ()
- 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’
- pouvez inclure des permissions supplémentaires prises en charge par l’API cible
Par exemple, votre code HTML pour l’URL d’autorisation lors de l’ajout d’une connexion à votre application pourrait ressembler à ceci :
Réponse
Si tout se passe bien, vous recevrez une réponseHTTP 302. Les informations d’identification demandées sont codées dans le corps du texte :
response_type.
Auth0 renverra également toute valeur d’état que vous avez incluse dans votre appel à l’URL d’autorisation.
Lorsque vous décodez et analysez votre jeton d’ID, vous remarquerez une demande supplémentaire,
c_hash, qui contient un hachage du code. Cette demande est obligatoire lorsqu’un jeton d’ID est émis en même temps qu’un code et que vous devez le valider :
- À l’aide de l’algorithme de hachage spécifié dans la demande
algdans l’en-tête jeton d’ID, hachez les octets de la représentation ASCII ducode. - Base64url code la moitié la plus à gauche du hachage.
- Vérifiez que le résultat correspond à la valeur
c_hash.
Demander des jetons
Maintenant que vous avez un code d’authentification, vous pouvez l’échanger pour des jetons. En utilisant le code d’autorisation (code) extrait de l’étape précédente, vous devrez POST sur l’URL du jeton.
Le jeton d’accès que vous recevez à cette étape est celui que vous devez utiliser pour appeler votre API. Assurez-vous de le conserver séparément du jeton d’accès que vous avez reçu à l’étape précédente de ce tutoriel.
Exemple de 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 ettoken_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.
Appeler l’API
Pour appeler votre API à partir d’une application Web standard (ou de cas similaires dans lesquels les informations d’identification de l’application peuvent être stockées en toute sécurité), l’application doit transmettre le jeton d’accès récupéré en tant que jeton du porteur dans l’en-tête d’autorisation de votre requête HTTP.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 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 :