- SDK Express OpenID Connect : la manière la plus simple d’implémenter le flux, qui fera le gros du travail à votre place. Si vous utilisez notre trousse SDK pour Javascript, assurez-vous d’implémenter des mesures d’atténuation adaptées à votre architecture. Pour en apprendre davantage, consultez Référence Auth0.js v9.
- Authentication API : Si vous préférez créer votre propre solution, continuez à lire pour savoir comment appeler notre API directement.
Prérequis
- Sélectionnez Application Web monopage comme Type d’application.
- Ajoutez une URL de rappel autoriséede
{https://yourApp/callback}. - Assurez-vous que les Grant Types (Types d’autorisation) de votre application comprennent Implicit (Implicite). Pour en savoir plus, lisez Mettre à jour les types d’autorisation.
- Authentification de l’utilisateur;
- Rediriger 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.
Paramètres
| Nom du paramètre | Description |
|---|---|
response_type | Indique le type d’identifiant qu’Auth0 va retourner (code ou jeton). Pour ce flux implicite, la valeur peut être id_token, token, ou id_token token. Plus spécifiquement, id_token renvoie un jeton d’ID, et token renvoie un jeton d’accès. |
response_mode | Spécifie la méthode avec laquelle 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 seront chiffrés comme des valeurs de formulaire HTML qui sont transmises via la méthode HTTP POST et chiffrées dans le corps en utilisant le format application/x-www-form-urlencoded` |
client_id | L’ID client de votre application. Vous pouvez trouver cette valeur dans les paramètres de l’application. |
redirect_uri | URL vers laquelle Auth0 redirigera le navigateur après que l’autorisation ait été accordée par l’utilisateur. Vous devez spécifier cette URL en tant qu’URL de rappel valide dans les paramètre de l’application. <br /> ; <br /> ; Attention: Conformément à la spécification OAuth 2.0, Auth0 supprime tout ce qui se trouve après le hachage et n’accepte pas les fragments. |
scope | Indique les permissions pour lesquels vous souhaitez demander une autorisation, ce qui dicte les demandes (ou les attributs d’utilisateur) que vous souhaitez voir renvoyées. Ils doivent être séparés par un espace. Vous pouvez demander n’importe lequel des permissions standards d’OpenID Connect (OIDC) sur les utilisateurs, comme profile and email, des demandes personnalisées conformes à un format namespace, ou n’importe quelles permissions prises en charge par l’API cible (par exemple,read:contacts). |
state | (recommandé) Une chaîne alphanumérique arbitraire opaque que votre application ajoute à la requête initiale qu’Auth0 inclut lorsqu’elle redirige vers votre application. Pour voir comment utiliser cette valeur pour prévenir les attaques par falsification de requête intersites , voir la section Atténuer les attaques par falsification de requête intersites avec les paramètres d’état. |
nonce | (obligatoire pour le paramètre response_type contenant id_token token. Une chaîne cryptographiquement aléatoire que votre application ajoute à la requête initiale et qu’Auth0 inclut dans le jeton d’ID, utilisée pour prévenir les attaques par réinsertion de jeton. |
connection | ( facultatif) Force l’utilisateur à se connecter avec une connexion spécifique. Par exemple, vous pouvez transmettre une valeur de github pour envoyer l’utilisateur directement à GitHub et se connecter avec son compte. Si la valeur n’est pas spécifiée, l’utilisateur voit l’écran de verrouillage Auth0 avec toutes les connexions configurées. Vous pouvez voir une liste de vos connexions configurées dans l’onglet Connections (connexions) de votre application. |
organization | (facultatif) Identifiant de l’organisation à utiliser pour authentifier un utilisateur. S’il n’est pas fourni et que votre application est configurée pour afficher l’invite de l’organisation, l’utilisateur pourra entrer le nom de l’organisation lors de l’authentification. |
invitation | (facultatif) Identifiant du ticket d’invitation de l’organisation. Lorsque vous invitez un membre à rejoindre une organisation, votre application doit gérer l’acceptation de l’invitation en transmettant les combinaisons de valeurs clés invitation et organization quand l’utilisateur accepte l’invitation. |
Réponse
HTTP 302. Les identifiants demandés sont codées dans le corps :
response_type.
| Type de réponse | Composants |
|---|---|
| id_token | Jeton d’ID |
| token | Jeton d’accès (plus valeurs expires_in et token_type) |
| id_token token | Jeton d’ID, Jeton d’accès (plus valeurs expires_in et token_type) |
Cas d’utilisation
Demande d’authentification de base
Demander le nom et la photo de profil de l’utilisateur
Demande de connexion d’un utilisateur avec GitHub
connection et régler sa valeur pour le nom de la connexion (dans ce cas, github) en autorisant l’utilisateur :
À présent, votre jeton d’ID contiendra une sous-demande avec l’ID unique de l’utilisateur retourné par GitHub. Lorsque vous décodez le jeton d’ID, il ressemble à ce qui suit :