- Dans le Dashboard, allez à Authentication (Authentification) > Social.
- Sélectionnez Create Connection (Créer une connexion), allez au bas de la liste, puis sélectionnez Create Custom (Créer une connexion personnalisée).
- Connection Name (Nom de la connexion) : Identifiant logique de la connexion que vous créez. Ce nom ne peut pas être changé, doit débuter et se terminer par un caractère alphanumérique et ne peut contenir que des caractères alphanumériques et des tirets.
-
URL d’autorisation : URL vers laquelle les utilisateurs sont redirigés pour se connecter.
N’essayez pas de définir le paramètre OAuth2
response_mode
dans l’URL d’autorisation. Cette connexion ne prend en charge queresponse_mode
(query
) par défaut. - URL du jeton : URL utilisée pour échanger le code d’autorisation reçu contre des jetons d’accès et, si demandé, des jetons d’ID.
-
Permission : paramètres de
permission
à envoyer avec la demande d’autorisation. Utilisez une espace pour séparer les différentes permissions. -
Séparer les permissions à l’aide d’une espace : Bouton à bascule qui détermine la manière dont les permissions sont délimitées si le paramètre
connection_scope
est inclus lors de l’appel de l’API de l’IdP. Par défaut, les permissions sont délimitées par une virgule. Si le bouton à bascule est activé, les permissions sont délimitées par une espace. Pour en apprendre davantage, consultez Ajouter des permissions/autorisations pour appeler les API des fournisseurs d’identité. - (Identifiant client) : ID client pour Auth0 en tant qu’application utilisée pour demander une autorisation et échanger le code d’autorisation. Pour obtenir un identifiant client, vous devrez vous inscrire auprès du fournisseur d’identité.
- (Secret client) : Secret client pour Auth0 en tant qu’application utilisée pour échanger le code d’autorisation. Pour obtenir un secret client, vous devrez vous inscrire auprès du fournisseur d’identité.
- Script de récupération du profil utilisateur : Script Node.js utilisé pour appeler une URL userinfo avec le jeton d’accès fourni. Pour en apprendre davantage sur ce script, lisez Script de récupération du profil utilisateur.
Lorsque vous configurez le fournisseur d’identités personnalisées, utilisez l’URL de rappel
https://{yourDomain}/login/callback
.Mettre à jour un flux d’authentification
Lorsque vous créez une connexion, le type d’autorisation OAuth 2.0 par défaut attribué à la connexion est Flux du code d’autorisation. Si vous disposez d’une application publique incapable de stocker un secret client, comme des applications à page unique ou natives, vous pouvez utiliser Management API pour mettre à jour la connexion afin d’utiliser Flux du code d’autorisation + PKCE. Pour en apprendre davantage sur les flux d’autorisation, consultez Quel flux Oauth 2.0 dois-je utiliser?.-
Effectuez une demande
GET
au point de terminaison/get-connections-by-id
. La réponse sera similaire à : -
Copiez l’intégralité de l’objet
options
. -
Faites une demande
PATCH
avec l’objetoptions
et ajoutez« pkce_enabled »``true
.
Si vous n’incluez pas toutes les
options
, des informations seront perdues et la connexion sera rompue.Script de récupération du profil utilisateur
Le script de récupération du profil utilisateur est appelé une fois que l’utilisateur s’est connecté auprès du fournisseur OAuth2. Auth0 exécute ce script pour appeler l’API du fournisseur OAuth2 et obtenir le profil utilisateur :user_id
dans le profil renvoyé est obligatoire et la propriété email
est facultative mais fortement recommandée. Pour en apprendre davantage sur les attributs pouvant être renvoyés, consultez Attributs racine du profil utilisateur.
Vous pouvez filtrer, ajouter ou supprimer n’importe quel élément du profil renvoyé par le fournisseur. Cependant, il est recommandé de conserver ce script aussi simple que possible. Une manipulation plus sophistiquée des informations utilisateur peut être réalisée grâce à l’utilisation de Règles. L’un des avantages de l’utilisation des règles est qu’elles s’appliquent à n’importe quelle connexion.
Connexion à l’aide de la connexion personnalisée
Vous pouvez utiliser n’importe lequel des mécanismes standard Auth0 pour connecter un utilisateur avec votre connexion personnalisée. Un lien direct ressemblerait à :Modifier l’icône et le nom d’affichage
Pour ajouter une icône au bouton de connexion du fournisseur d’identité ou modifier le texte utilisé sur le bouton de connexion, vous pouvez utiliser respectivement la propriétéicon_url
de l’objet options
et la propriété display_name
par le biais de la Management API.
- If
display_name
n’est pas inclus dans votre requête. Le champ est remplacé par la valeurname
de la connexion. display_name
eticon_url
n’affectent que la façon dont la connexion s’affiche dans l’expérience de connexion universelle.
Passer les paramètres spécifiques au fournisseur
Vous pouvez transmettre des paramètres spécifiques au fournisseur au point de terminaison d’autorisation des fournisseurs OAuth 2.0. Ceux-ci peuvent être statiques ou dynamiques.Passer les paramètres statiques
Pour transmettre des paramètres statiques (paramètres envoyés à chaque demande d’autorisation), vous pouvez utiliser l’élémentauthParams
des options
lors de la configuration d’une connexion OAuth 2.0 par le biais de la Management API. L’appel ci-dessous définira un paramètre statique de custom_param
défini sur custom.param.value
sur toutes les demandes d’autorisation :
Passer des paramètres dynamiques
Dans certaines circonstances, vous souhaiterez peut-être transmettre une valeur dynamique à un fournisseur d’identité OAuth 2.0. Dans ce cas, vous pouvez utiliser l’élémentauthParamsMap
des options
pour préciser un mappage entre l’un des paramètres supplémentaires existants acceptés par le point de terminaison Auth0 /authorize
et le paramètre accepté par le fournisseur d’identité.
En utilisant le même exemple ci-dessus, supposons que vous souhaitiez transmettre le paramètre custom_param
au point de terminaison d’autorisation, mais que vous souhaitiez spécifier la valeur réelle du paramètre lors de l’appel au point de terminaison Auth0 /authorize
.
Dans ce cas, vous pouvez utiliser l’un des paramètres d’ajout existants acceptés par le point de terminaison /authorize
, tel que access_type
, et le mapper au paramètre custom_param
:
/authorize
, vous pouvez transmettre le type d’accès dans le paramètre access_type
, et cette valeur sera à son tour transmise au point de terminaison d’autorisation dans le paramètre custom_param
.
Passer des en-têtes supplémentaires
Dans certains cas, vous devrez transmettre des en-têtes supplémentaires au point de terminaison du jeton d’un fournisseur OAuth 2.0. Pour configurer des en-têtes supplémentaires, ouvrez les paramètres de la connexion et dans le champ Custom Headers (En-têtes personnalisés), spécifiez un objet JSON avec les en-têtes personnalisés sous forme de paires clé-valeur :Authorization (Autorisation)
avec les informations d’authentification d’accès de base. Dans ce scénario, vous pouvez spécifier l’objet JSON suivant dans le champ Custom Headers (En-têtes personnalisés) :
[vos informations d’identification]
sont les informations d’identification réelles à envoyer au fournisseur d’identité.