Skip to main content
Vous pouvez ajouter la connexion à votre application Web traditionnelle à l’aide du flux de code d’autorisation. Pour savoir comment ce flux fonctionne et pourquoi vous devriez l’utiliser, consultez Authorization Code Flow. Pour appeler votre API à partir d’une application Web traditionnelle, consultez Call Your API Using the Authorization Code Flow. Pour mettre en œuvre le flux de code d’autorisation, Auth0 fournit les ressources suivantes :
  • Regular Web App Quickstarts : la façon la plus simple de mettre en œuvre ce flux.
  • Authentication API : si vous préférez créer votre propre solution, poursuivez votre lecture pour apprendre à appeler directement notre API.
Après une connexion réussie, votre application aura accès au de l’utilisateur et à son . 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 Auth0 /userinfo ou vos propres API protégées. Pour en savoir plus sur les jetons d’identité, consultez Jetons d’identité. Pour en savoir plus sur les jetons d’accès, consultez Access Tokens. Vous demanderez l’autorisation de l’utilisateur, puis vous serez redirigé 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 classiques.
  • Sélectionnez Application Web classique comme Type d’application.
  • Ajoutez une URL de rappel autorisée : {https://yourApp/callback}.
  • Assurez-vous que les Types d’octroi de votre application incluent le code d’autorisation. Pour en savoir plus, consultez Mettre à jour les type 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 afin de procéder à l’authentification;
  • Obtenir le consentement de l’utilisateur pour le niveau de permission demandé, à moins que ce consentement n’ait 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

Par exemple, votre extrait HTML pour votre URL d’autorisation lorsque vous ajoutez le login à 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 extrait (code) à l’étape précédente, vous devrez envoyer une requête POST à l’URL du jeton.

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

Paramètres

Réponse

Si tout se passe bien, vous recevrez une réponse HTTP 200 dont le corps 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 jetons d’identité et Valider les jetons d’accès.
Les jetons d’identité contiennent des renseignements sur l’utilisateur qu’il faut décoder et extraire. Les jetons d’accès servent à envoyer une requête au 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 sont utilisés pour obtenir un nouveau jeton d’accès ou un nouveau 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 le Dashboard.
Les jetons d’actualisation doivent être stockés de façon sécuritaire, 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 pour autoriser l’utilisateur à l’étape 1. Il affiche l’écran de connexion Auth0 et permet à l’utilisateur de se connecter avec n’importe laquelle de vos connexions configurées : Maintenant, lorsque vous demandez des jetons, votre jeton d’identité contiendra les claims les plus élémentaires. Lorsque vous décoderez le jeton d’identité, il ressemblera à ceci :

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

En plus de l’authentification habituelle de l’utilisateur, cet exemple montre comment demander des renseignements supplémentaires sur l’utilisateur, comme son nom et sa photo de profil. Pour demander le nom et la photo de profil de l’utilisateur, vous devez ajouter les scopes appropriés au moment d’autoriser l’utilisateur : Maintenant, lorsque vous demandez des jetons, votre jeton d’identité contiendra les claims name et picture demandés. Une fois le jeton d’identité décodé, il ressemblera à ceci :

Demander à l’utilisateur de se connecter avec GitHub

En plus du processus habituel d’authentification 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 lui attribuer comme valeur le nom de la connexion (dans ce cas-ci, github) lors de l’autorisation de l’utilisateur à l’étape 1 : Maintenant, lorsque vous demandez des jetons, votre jeton d’identité contiendra un champ sub avec l’ID unique de l’utilisateur renvoyé par GitHub. Lorsque vous décodez le jeton d’identité, il ressemblera à ceci :

En savoir plus