Skip to main content
Les fournisseurs d’identité (IdP) les plus courants sont offerts dans le Auth0 Dashboard et dans le Auth0 Marketplace. Vous pouvez toutefois ajouter n’importe quel fournisseur en tant que Custom Social Connection dans le .
  1. Dans le Dashboard, accédez à Authentication > Social.
  2. Sélectionnez Create Connection, allez au bas de la liste, puis sélectionnez Create Custom.
Le formulaire qui s’affiche contient plusieurs champs à utiliser pour configurer la connexion personnalisée :
  • 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_mode dans l’URL d’autorisation. Cette connexion prend uniquement en charge le response_mode par 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_scope est 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.
Une fois la connexion personnalisée créée, vous verrez la vue Applications et votre connexion sera assujettie à la Politique de limitation du débit d’Auth0. Vous pouvez y activer ou désactiver les applications pour lesquelles vous voulez que la connexion soit affichée.

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 ?
  1. Effectuez une requête GET vers le point de terminaison /get-connections-by-id. La réponse ressemblera à ceci :
  2. Copiez l’objet options en entier.
  3. Effectuez une requête PATCH avec l’objet options et ajoutez "pkce_enabled": true.
Si vous n’incluez pas l’objet options en entier, des informations seront perdues et la connexion cessera de fonctionner.

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 :
La propriété 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.
  • Si display_name n’est pas inclus dans votre requête, le champ est remplacé par la valeur name de la connexion.
  • display_name et icon_url n’affectent que la façon dont la connexion s’affiche dans l’expérience Universal Login.

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ément authParams 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ément authParamsMap 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 :
Prenons l’exemple d’un fournisseur d’identité qui peut vous demander de transmettre un en-tête 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é.

En savoir plus