Ajout dynamique de fonctionnalités à un fournisseur d’authentification
Pour plus de flexibilité avec les fonctionnalités du fournisseur d'authentification, créez votre propre liste d'autorisations de transfert de paramètres d'URL. Avec une liste d'autorisations, vous pouvez ajouter dynamiquement des paramètres à vos URL de configuration client à l'exécution et les transmettre au fournisseur tiers. Par exemple, transmettez les préférences linguistiques de l'utilisateur au fournisseur tiers afin d'afficher la page de connexion du fournisseur dans la langue de votre choix.
Éditions requises
| Disponible avec : Enterprise Edition, Performance Edition, Unlimited Edition et Developer Edition |
| Autorisations utilisateur requises | |
|---|---|
| Pour afficher les paramètres de fournisseur d'authentification : | Afficher la configuration |
| Pour modifier les paramètres de fournisseur d'authentification : | Personnaliser l'application ET Gérer les fournisseurs d'authentification |
Lorsque vous initialisez un flux d'authentification unique de fournisseur d'authentification en invoquant une URL de configuration client, Salesforce génère une URL d'autorisation dans laquelle l'utilisateur est redirigé pour se connecter au fournisseur tiers. Lorsque vous ajoutez un paramètre de transfert d'URL à la liste d'autorisations, vous pouvez l'ajouter dynamiquement à l'URL de configuration client lorsque vous l'invoquez. Le paramètre est ensuite transmis au fournisseur tiers avec l'URL d'autorisation.
Comme vous pouvez ajouter n'importe quel paramètre d'URL à la liste d'autorisations de votre choix, vous pouvez utiliser cette fonctionnalité de nombreuses façons pour invoquer dynamiquement différentes expériences sur des fournisseurs tiers.
Utilisez par exemple cette fonctionnalité pour contrôler la langue de la page de connexion du fournisseur tiers. Imaginez un site Experience Cloud dans lequel les utilisateurs sélectionnent leur préférence linguistique en cliquant sur un bouton. Ils sont ensuite redirigés vers la page de connexion de votre site, où ils peuvent se connecter à Google via un fournisseur tiers. Vous souhaitez transmettre la préférence linguistique de l'utilisateur à Google afin que Google sache quelle langue afficher pour la page de connexion. Par conséquent, vous ajoutez le paramètre ui_locales à la liste d'autorisation. Vous développez ensuite votre site de sorte que lorsque l'utilisateur sélectionne sa préférence linguistique, votre site le stocke dans un cookie. Si l'utilisateur choisit de se connecter avec Google, votre site extrait la valeur du cookie, la stocke dans le paramètre ui_locales et ajoute dynamiquement le paramètre à l'URL d'initialisation de l'authentification unique du fournisseur d'authentification. Le paramètre ui_locales est ensuite transmis de Salesforce à Google dans l'URL d'autorisation. À ce stade, l'utilisateur est redirigé vers la page de connexion de Google. Grâce au paramètre ui_locales, la page de connexion s'affiche dans leur langue préférée.
Voici un autre exemple d'utilisation de cette fonctionnalité pour ajouter des fonctionnalités. Supposons que vous avez une page de connexion dans laquelle les utilisateurs peuvent cliquer sur un bouton pour se connecter avec Google. Vous savez que certains utilisateurs ont plusieurs comptes Google et que Google peut les inviter à sélectionner un compte avant de terminer la connexion. Vous souhaitez aider les utilisateurs à ignorer cette étape. Par conséquent, vous ajoutez une option à la page de connexion dans laquelle ils peuvent saisir leur adresse e-mail avant de se connecter avec Google. Vous ajoutez ensuite le paramètre login_hint à la liste d'autorisation. Si l'utilisateur saisit son adresse e-mail, vous utilisez le paramètre login_hint pour la stocker. Ensuite, lorsqu'il clique sur l'option de connexion avec Google, vous ajoutez dynamiquement le paramètre login_hint à l'URL d'initialisation de l'authentification unique. Le paramètre est transmis à l'URL d'autorisation. Lorsque l'utilisateur est dirigé vers Google, Google sait déjà quel compte il souhaite utiliser.
Pour ajouter un paramètre de transfert de fournisseur d'authentification à la liste d'autorisations, utilisez l'API de métadonnées. Voici un exemple d'utilisation de de la CLI Salesforce pour créer un fournisseur d'authentification Google via l'API de métadonnées et les paramètres de liste d’autorisation ui_locales et login_hint. Avant de commencer, assurez-vous d'installer Salesforce CLI si ce n'est déjà fait.
- Activez votre organisation en tant que Dev Hub
- Create a Salesforce DX project.
- Autorisez votre organisation.
- Élaborez un fichier de définition d'organisation test.
-
Pour vérifier que vous avez correctement créé l'organisation test, exécutez cette commande CLI.
.sf org open -o <your scratch org name> - Dans le répertoire de votre projet Salesforce DX, créez un répertoire appelé AuthProviders.
-
Dans le répertoire AuthProviders, créez le fichier
package.xmlavec ce contenu.<Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>AuthProvider</name> </types> <version>62.0</version> </Package> - Dans le répertoire AuthProviders, créez le sous-répertoire authproviders.
-
Dans le répertoire Authproviders, créez le fichier
<yourauthprovidername>.authprovideravec ce contenu.<AuthProvider xmlns="http://soap.sforce.com/2006/04/metadata"> <friendlyName>MyAuthProvider</friendlyName> <includeOrgIdInIdentifier>false</includeOrgIdInIdentifier> <isPkceEnabled>true</isPkceEnabled> <providerType>Google</providerType> <requireMfa>false</requireMfa> <sendAccessTokenInHeader>false</sendAccessTokenInHeader> <sendClientCredentialsInHeader>false</sendClientCredentialsInHeader> <sendSecretInApis>true</sendSecretInApis> <paramForwardAllowlist> <description>Stores the user's language preferences</description> <param>ui_locales</param> </paramForwardAllowlist> <paramForwardAllowlist> <description>Stores the user's email address</description> <param>login_hint</param> </paramForwardAllowlist> </AuthProvider> -
Pour déployer le fournisseur d'authentification dans votre organisation test, revenez dans le répertoire du projet Salesforce DX et exécutez cette commande CLI.
sf project deploy start --metadata dir AuthProvidersLorsque la commande est exécutée, elle crée un fournisseur d'authentification dans votre organisation avec les paramètresui_localesetlogin_hintdans la liste d'autorisations. Ajoutez ces paramètres à vos URL de configuration client et personnalisez les fonctionnalités de votre fournisseur si nécessaire.

