- Express OpenID Connect SDK : la façon la plus simple d’implémenter le flux; il prendra en charge la plus grande partie du travail pour vous. Si vous utilisez notre SDK JavaScript, assurez-vous de mettre en œuvre des mesures d’atténuation adaptées à votre architecture. Pour en savoir plus, consultez Auth0.js v9 Reference.
- Authentication API : si vous préférez créer votre propre solution, poursuivez votre lecture pour apprendre à appeler directement notre API.
Prérequis
- Sélectionnez Application monopage comme Type d’application.
- Ajoutez une Allowed Callback URL :
{https://yourApp/callback}. - Assurez-vous que les types d’octroi de votre application incluent Implicit. Pour en savoir plus, consultez Mettre à jour les types d’octroi.
- Authentifier l’utilisateur;
- Rediriger l’utilisateur vers un pour prendre en charge l’authentification;
- Vérifier s’il existe des sessions d’ (SSO) actives;
- Obtenir le consentement de l’utilisateur pour le niveau d’autorisation demandé, sauf si ce consentement a déjà été accordé.
Paramètres
| Nom du paramètre | Description |
|---|---|
response_type | Indique le type de justificatif qu’Auth0 renverra (code ou token). Pour le flux implicite, la valeur peut être id_token, token ou id_token token. Plus précisément, id_token renvoie un ID Token, et token renvoie un Jeton d’accès. |
response_mode | Spécifie la façon dont les paramètres de réponse doivent être renvoyés. Pour des raisons de sécurité, la valeur doit être form_post. Dans ce mode, les paramètres de réponse sont encodés comme des valeurs de formulaire HTML, transmises au moyen de la méthode HTTP POST et encodées dans le corps à l’aide du format application/x-www-form-urlencoded. |
client_id | L’ID client de votre application. Vous trouverez cette valeur dans les paramètres de l’application. |
redirect_uri | L’URL vers laquelle Auth0 redirigera le navigateur une fois l’autorisation accordée par l’utilisateur. Vous devez spécifier cette URL comme URL de rappel valide dans les paramètres de l’application. Avertissement : Conformément à la spécification OAuth 2.0, Auth0 supprime tout ce qui suit le hash et ne tient pas compte des fragments. |
scope | Spécifie les scopes pour lesquels vous souhaitez demander une autorisation, et qui déterminent quelles claims (ou quels attributs utilisateur) vous souhaitez obtenir en retour. Ils doivent être séparés par un espace. Vous pouvez demander n’importe lequel des scopes OpenID Connect (OIDC) standard concernant les utilisateurs, comme profile et email, des claims personnalisées conformes à un format avec espace de noms, ou tout scope pris en charge par l’API cible (par exemple, read:contacts). |
state | (recommandé) Une chaîne alphanumérique arbitraire et opaque que votre application ajoute à la requête initiale et qu’Auth0 inclut lors de la redirection vers votre application. Pour savoir comment utiliser cette valeur afin de prévenir les attaques de falsification de requête intersites (CSRF), consultez Mitigate CSRF Attacks With State Parameters. |
nonce | (obligatoire si response_type contient id_token token, sinon recommandé) Une chaîne aléatoire générée de façon cryptographiquement sûre que votre application ajoute à la requête initiale et qu’Auth0 inclut dans l’ID Token, utilisée pour prévenir les attaques par rejeu de jeton. |
connection | (facultatif) Force l’utilisateur à se connecter avec une connexion précise. Par exemple, vous pouvez transmettre la valeur github pour envoyer l’utilisateur directement vers GitHub afin qu’il ouvre une session avec son compte GitHub. Lorsqu’elle n’est pas spécifiée, l’utilisateur voit l’écran Auth0 Lock avec toutes les connexions configurées. Vous pouvez consulter la liste de vos connexions configurées dans l’onglet Connexions de votre application. |
organization | (facultatif) ID de l’organisation à utiliser lors de l’authentification d’un utilisateur. S’il n’est pas fourni et que votre application est configurée pour Afficher l’invite d’organisation, l’utilisateur pourra saisir le nom de l’organisation pendant l’authentification. |
invitation | (facultatif) ID du ticket d’invitation de l’organisation. Lorsque vous invitez un membre à une organisation, votre application doit gérer l’acceptation de l’invitation en transmettant les paires clé-valeur invitation et organization lorsque l’utilisateur accepte l’invitation. |
Réponse
HTTP 302. Les identifiants demandés sont encodés dans le corps de la réponse :
response_type que vous avez demandé.
| Type de réponse | Composants |
|---|---|
| id_token | ID Token |
| token | Jeton d’accès (plus les valeurs expires_in et token_type) |
| id_token token | ID Token, Jeton d’accès (plus les valeurs expires_in et token_type) |
state incluse dans votre appel à l’URL d’autorisation.
Les jetons d’identité contiennent des renseignements sur l’utilisateur qui doivent être décodés et extraits.
Cas d’utilisation
Requête d’authentification de base
Demander le nom de l’utilisateur et sa photo de profil
name et picture demandés. Lorsque vous décoderez le jeton d’identité, il ressemblera à :
Demander à l’utilisateur de se connecter avec GitHub
connection et définir sa valeur sur le nom de la connexion (dans ce cas, github) lors de l’autorisation de l’utilisateur :
Désormais, votre ID Token contiendra une revendication sub avec l’identifiant unique de l’utilisateur renvoyé par GitHub. Lorsque vous décoderez l’ID Token, il ressemblera à ceci :