Passer au contenu principal
Vous pouvez ajouter la connexion à votre application Web régulière à l’aide du flux de code d’autorisation. Pour savoir comment ce flux fonctionne et pourquoi vous devriez l’utiliser, consultez Flux de code d’autorisation. Pour appeler votre API à partir d’une application Web régulière, consultez Appelez 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 et au de l’utilisateur. Le jeton d’identité contient les renseignements de base du profil utilisateur, et le jeton d’accès peut servir à appeler le point de terminaison /userinfo d’Auth0 ou vos propres API protégées. Pour en savoir plus sur les ID tokens, consultez ID tokens. Pour en savoir plus sur les jetons d’accès, consultez Jetons d’accès. Vous demanderez l’autorisation de l’utilisateur, puis vous le redirigerez vers votre application avec un authorization_code. Vous échangerez ensuite le code contre des jetons.

Prérequis

Enregistrez votre application dans Auth0. Pour en savoir plus, consultez Enregistrer des applications Web régulières.
  • Sélectionnez Application Web régulière comme type d’application.
  • Ajoutez {https://yourApp/callback} comme URL de callback autorisée.
  • Assurez-vous que les types d’octroi de votre application incluent Code d’autorisation. Pour en savoir plus, consultez Mettre à jour les types d’octroi.

Autoriser l’utilisateur

Pour lancer le flux, vous devrez obtenir l’autorisation de l’utilisateur. Cette étape peut inclure un ou plusieurs des processus suivants :
  • Authentifier l’utilisateur ;
  • Rediriger l’utilisateur vers un pour prendre en charge l’authentification ;
  • Obtenir le consentement de l’utilisateur pour le niveau d’autorisation 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

À titre d’exemple, l’extrait HTML de votre URL d’autorisation pour ajouter la connexion à votre application pourrait ressembler à ceci :

Réponse

Si tout se passe bien, vous recevrez une réponse HTTP 302. Le code d’autorisation figure à la fin de l’URL :

Obtenir des jetons

Maintenant que vous avez un code d’autorisation, vous devez l’échanger contre des jetons. À l’aide du code d’autorisation (code) extrait à l’étape précédente, vous devez envoyer une requête POST à l’URL du jeton.

Exemple de requête POST vers l’URL du jeton

Paramètres

Réponse

Si tout se passe bien, vous recevrez une réponse HTTP 200 avec un payload qui contient les valeurs access_token, refresh_token, id_token et token_type :
Validez vos jetons avant de les enregistrer. Pour savoir comment faire, consultez Valider les ID tokens et Valider les jetons d’accès.
ID tokens contiennent des renseignements sur l’utilisateur qu’il faut décoder et extraire. Jetons d’accès servent à appeler le endpoint /userinfo de l’Auth0 Authentication API ou une autre API. Si vous appelez votre propre API, la première chose qu’elle devra faire sera de vérifier le jeton d’accès. Jetons d’actualisation servent à obtenir un nouveau jeton d’accès ou un jeton d’identité après l’expiration du précédent. Le refresh_token ne sera présent dans la réponse que si vous avez inclus le scope offline_access et activé Allow Offline Access pour votre API dans l’Auth0 Dashboard.
Les jetons d’actualisation doivent être stockés de manière sécurisée, puisqu’ils permettent à un utilisateur de rester authentifié pratiquement indéfiniment.

Cas d’utilisation

Requête d’authentification de base

Cet exemple montre la requête la plus simple que vous pouvez effectuer lorsque vous autorisez l’utilisateur à l’étape 1. Elle affiche l’écran de connexion d’Auth0 et permet à l’utilisateur de se connecter avec n’importe quelle connexion configurée : Maintenant, lorsque vous demandez des jetons, votre ID Token contiendra les claims de base. Lorsque vous décoderez l’ID Token, il ressemblera à ceci :

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

En plus de l’authentification habituelle, cet exemple montre comment demander des informations supplémentaires sur l’utilisateur, comme son nom et sa photo. Pour demander le nom et la photo de l’utilisateur, vous devez ajouter les scopes appropriés lorsque vous autorisez l’utilisateur : Maintenant, lorsque vous demandez des jetons, votre jeton d’identité inclura les claims name et picture demandées. Lorsque vous décodez le jeton d’identité, il ressemblera à ceci :

Demander à l’utilisateur de se connecter avec GitHub

En plus de l’authentification habituelle des utilisateurs, cet exemple montre comment rediriger les utilisateurs directement vers un fournisseur d’identité social, comme GitHub. Vous devez d’abord configurer la connexion appropriée dans Auth0 Dashboard > Authentication > Social et récupérer le nom de la connexion dans l’onglet Settings. Pour envoyer les utilisateurs directement à l’écran de connexion GitHub, vous devez transmettre le paramètre connection et définir sa valeur sur le nom de la connexion (dans ce cas, github) lorsque vous autorisez l’utilisateur à l’étape 1 : Maintenant, lorsque vous demanderez des jetons, votre ID Token contiendra une revendication sub avec l’identifiant unique de l’utilisateur renvoyé par GitHub. Lorsque vous décoderez le jeton d’identité, il ressemblera à ceci :

En savoir plus