- Dans le Dashboard, accédez à Authentication > Social.
- Sélectionnez Create Connection, allez au bas de la liste, puis sélectionnez Create Custom.
- Connection Name : Identifiant logique de la connexion que vous créez. Ce nom ne peut pas être modifié, doit commencer et se terminer par un caractère alphanumérique, et ne peut contenir que des caractères alphanumériques et des tirets.
-
Authorization URL : URL vers laquelle les utilisateurs sont redirigés pour ouvrir une session.
N’essayez pas de définir le paramètre OAuth2
response_modedans l’URL d’autorisation. Cette connexion prend uniquement en charge leresponse_modepar défaut (query). - Token URL : URL utilisée pour échanger le code d’autorisation reçu contre des et, au besoin, des .
-
Scope : Paramètres
scopeà envoyer avec la requête d’autorisation. Séparez plusieurs scopes par des espaces. -
Separate scopes using a space : Bascule qui détermine comment les scopes sont délimités si le paramètre
connection_scopeest inclus lors de l’appel de l’API de l’IdP. Par défaut, les scopes sont délimités par une virgule. Si la bascule est activée, les scopes sont délimités par une espace. Pour en savoir plus, consultez Add Scopes/Permissions to Call Identity Provider APIs. - : Client ID d’Auth0 en tant qu’application utilisée pour demander l’autorisation et échanger le code d’autorisation. Pour obtenir un Client ID, vous devrez vous inscrire auprès du .
- : Client Secret d’Auth0 en tant qu’application utilisée pour échanger le code d’autorisation. Pour obtenir un Client Secret, vous devrez vous inscrire auprès du fournisseur d’identité.
- Fetch User Profile Script : Script Node.js utilisé pour appeler une URL userinfo à l’aide du jeton d’accès fourni. Pour en savoir plus sur ce script, consultez Fetch User Profile Script.
- Purpose : Active la connexion sociale pour l’authentification, Connected Accounts for Token Vault, ou les deux. Pour en savoir plus, consultez User authentication vs Connected Accounts.
Lorsque vous configurez le fournisseur d’identité personnalisé, utilisez l’URL de rappel
https://{yourDomain}/login/callback.Mettre à jour le flux d’authentification
Lorsque vous créez une connexion, le type de grant OAuth 2.0 par défaut attribué à la connexion est le flux de code d’autorisation. Si vous avez une application publique qui ne peut pas stocker de Client Secret, comme une application monopage ou une application native, vous pouvez utiliser l’ pour mettre à jour la connexion afin qu’elle utilise le flux de code d’autorisation + PKCE. Pour en savoir plus sur les , consultez Quel flux OAuth 2.0 devrais-je utiliser ?-
Effectuez une requête
GETvers le point de terminaison/get-connections-by-id. La réponse ressemblera à ceci : -
Copiez l’objet
optionsen entier. -
Effectuez une requête
PATCHavec l’objetoptionset ajoutez"pkce_enabled":true.
Script Fetch User Profile
Le script Fetch User Profile est appelé une fois que l’utilisateur s’est connecté avec le fournisseur OAuth2. Auth0 exécute ce script pour interroger l’API du fournisseur OAuth2 et récupérer le profil utilisateur :user_id dans le profil renvoyé est requise, et la propriété email est facultative, mais fortement recommandée. Pour en savoir plus 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 garder ce script aussi simple que possible. Des manipulations plus poussées des données utilisateur peuvent être effectuées au moyen des Rules. L’un des avantages des Rules est qu’elles s’appliquent à toute connexion.
Se connecter à l’aide de la connexion personnalisée
Vous pouvez utiliser n’importe quel mécanisme standard d’Auth0 pour permettre à un utilisateur de se connecter avec votre connexion personnalisée. Un lien direct ressemblerait à ceci :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 affiché sur ce bouton, vous pouvez utiliser la propriétéicon_url de l’objet options et la propriété display_name, respectivement, au moyen de la Management API.
Vous utilisez l’Auth0 CLI? Si ce n’est pas déjà fait, configurez et authentifiez votre session CLI avant d’exécuter cette commande.
Transmettre des paramètres propres au fournisseur
Vous pouvez transmettre des paramètres propres au fournisseur au point de terminaison d’autorisation des fournisseurs OAuth 2.0. Ils peuvent être statiques ou dynamiques.Transmettre des paramètres statiques
Pour transmettre des paramètres statiques (des paramètres envoyés avec chaque requête d’autorisation), vous pouvez utiliser l’élémentauthParams dans options lors de la configuration d’une connexion OAuth 2.0 au moyen de la Management API. La requête ci-dessous définira le paramètre statique custom_param avec la valeur custom.param.value pour toutes les requêtes d’autorisation :
Transmettre des paramètres dynamiques
Dans certains cas, vous pourriez vouloir transmettre une valeur dynamique à un fournisseur d’identité OAuth 2.0. Dans ce cas, vous pouvez utiliser l’élémentauthParamsMap de options pour définir une correspondance entre l’un des paramètres supplémentaires existants acceptés par l’endpoint /authorize d’Auth0 et le paramètre accepté par le fournisseur d’identité.
En reprenant le même exemple que ci-dessus, supposons que vous vouliez transmettre le paramètre custom_param au point de terminaison d’autorisation, mais que vous souhaitiez préciser la valeur réelle du paramètre au moment d’appeler l’endpoint /authorize d’Auth0.
Dans ce cas, vous pouvez utiliser l’un des paramètres supplémentaires existants acceptés par l’endpoint /authorize, comme access_type, et le mapper au paramètre custom_param :
Maintenant, lorsque vous appelez le point de terminaison /authorize, vous pouvez transmettre le type d’accès dans le paramètre access_type, et cette valeur sera ensuite transmise au point de terminaison d’autorisation dans le paramètre custom_param.
Ajouter des en-têtes supplémentaires
Dans certains cas, vous devrez ajouter des en-têtes supplémentaires au d’un fournisseur OAuth 2.0. Pour configurer des en-têtes supplémentaires, ouvrez les Settings de la connexion, puis, dans le champ Custom Headers, indiquez un objet JSON contenant les en-têtes personnalisés sous forme de paires clé-valeur :Authorization avec des identifiants d’authentification Basic. Dans ce scénario, vous pouvez indiquer l’objet JSON suivant dans le champ Custom Headers :
[your credentials] sont les informations d’authentification réelles à envoyer au fournisseur d’identité.