Passer au contenu principal
Vous pouvez ajouter une connexion à votre application Web classique à l’aide du Flux de code d’autorisation. Pour savoir comment fonctionne le flux et pourquoi vous devriez l’utiliser, lisez Flux du code d’autorisation. Pour appeler votre API à partir d’une application Web ordinaire, lisez Appeler votre API à l’aide du flux de code d’autorisation. Pour implémenter le Flux de code d’autorisation, Auth0 fournit les ressources suivantes : Après une connexion réussie, votre application aura accès au jeton d’ID et au jeton d’accès de l’utilisateur. Le jeton d’ID contient des informations de base sur le profil utilisateur et le jeton d’accès peut être utilisé pour appeler le point de terminaison Auth0 /userinfo ou vos propres API protégées. Pour en savoir plus sur les jetons d’ID, consultez Jetons d’ID. Pour en savoir plus sur les jetons d’accès, lisez Jetons d’accès. Vous demanderez l’autorisation de l’utilisateur et le redirigerez vers votre application avec un authorization_code. Vous échangerez ensuite le code contre des jetons.

Prérequis

Enregistrez votre application auprès d’Auth0. Pour en savoir plus, lisez Enregistrer des applications Web classiques.
  • Sélectionnez Application Web ordinaire comme Type d’application.
  • Ajoutez une URL de rappel autorisée de {https://yourApp/callback}.
  • Assurez-vous que les Grant Types (Types d’autorisation) de votre application comprennent le code d’autorisation. Pour en savoir plus, lisez Mettre à jour les types d’autorisation.

Autoriser l’utilisateur

Pour lancer le flux, vous aurez besoin l’autorisation de 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
  • Obtenir le consentement de l’utilisateur pour le niveau de permission demandé, sauf si obtenu précédemment
Pour autoriser l’utilisateur, votre application doit envoyer l’utilisateur à l’URL d’autorisation.

Exemple d’URL d’autorisation

Paramètres

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éponse HTTP 302. Le code d’autorisation est compris à la fin de cette URL :

Jetons de requête

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.

Exemple d’URL « POST to token »

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 en savoir plus, lisez Valider les jetons d’ID et Valider les jetons d’accès.
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 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.
Les jetons d’actualisation doivent être stockés en toute sécurité car ils permettent aux utilisateurs de rester authentifiés pratiquement indéfiniment.

Cas d’utilisation

Demande d’authentification de base

Cet exemple montre la requête la plus basique que vous pouvez faire lorsque vous autorisez l’utilisateur à l’étape 1. L’écran de connexion Auth0 permet à l’utilisateur de se connecter avec l’une des connexions configurées. Désormais, lorsque vous demanderez des jetons, votre jeton d’ID contiendra les autorisations les plus élémentaires. Lorsque vous décodez le jeton d’ID, il ressemble à ce qui suit :

Demander le nom et la photo de profil de l’utilisateur

Outre l’authentification habituelle de l’utilisateur, cet exemple montre comment demander des informations supplémentaires sur l’utilisateur, telles que son nom et sa photo. Pour demander le nom et la photo de l’utilisateur, vous devez ajouter les permissions appropriées lors de l’autorisation de l’utilisateur : Désormais, lorsque vous demanderez des jetons, votre jeton d’ID contiendra le nom et la photo demandés. Lorsque vous décodez le jeton d’ID, il ressemble à ce qui suit :

Demande de connexion d’un utilisateur avec GitHub

En plus de l’authentification habituelle des utilisateurs, cet exemple montre comment envoyer les utilisateurs directement à un fournisseur d’identité sociale, tel que GitHub. Vous devrez d’abord configurer la connexion appropriée dans Auth0 Dashboard > Authentication (Authentification) > Social et obtenir le nom de la connexion à partir de l’onglet Settings (Paramètres). Pour envoyer les utilisateurs directement à l’écran de connexion GitHub, vous devez passer le paramètre connection et définir sa valeur sur le nom de la connexion (dans ce cas, github) lors de l’autorisation de l’utilisateur à l’étape 1 : Désormais, lorsque vous demanderez des jetons, votre jeton d’ID contiendra une demande sub avec l’ID unique de l’utilisateur renvoyé par GitHub. Lorsque vous décodez le jeton d’ID, il ressemble à ce qui suit :

En savoir plus