Agregar funciones de forma dinámica a un proveedor de autenticación
Para obtener la mayor flexibilidad con las funciones del proveedor de autenticación, cree su propia lista de admisión de reenvío de parámetros de URL. Con una lista de admisión, puede agregar dinámicamente parámetros de lista de admisión a sus direcciones URL de configuración de cliente en tiempo de ejecución y reenviarlos al proveedor externo. Por ejemplo, reenvíe las preferencias de idioma del usuario al proveedor externo de modo que la página de inicio de sesión del proveedor se muestre en el idioma que desee.
Ediciones necesarias
| Disponible en: Enterprise Edition, Performance Edition, Unlimited Edition y Developer Edition |
| Permisos de usuario necesarios | |
|---|---|
| Para ver la configuración del proveedor de autenticación: | Ver parámetros y configuración |
| Para modificar la configuración del proveedor de autenticación: | Personalizar aplicación Y Gestionar proveedores de autenticación |
Cuando inicializa un flujo de inicio de sesión único de proveedor de autenticación invocando una URL de configuración de cliente, Salesforce genera una URL de autorización donde se redirige al usuario para iniciar sesión en el proveedor externo. Cuando incluye en la lista de admisión un parámetro de reenvío de URL, puede agregarlo dinámicamente a la URL de configuración del cliente cuando lo invoca. El parámetro se reenvía a continuación al proveedor externo como parte de la URL de autorización.
Como puede incluir en la lista de admisión cualquier parámetro de URL que desee, existen muchas formas en que puede utilizar esta función para invocar dinámicamente diferentes experiencias en proveedores externos.
Por ejemplo, utilice esta función para controlar el idioma de la página de inicio de sesión del proveedor externo. Imagine un sitio de Experience Cloud donde los usuarios seleccionan sus preferencias de idioma haciendo clic en un botón. Luego se les redirige a la página de inicio de sesión de su sitio, donde tienen una opción para iniciar sesión con Google a través de un proveedor externo. Desea reenviar la preferencia de idioma del usuario a Google de modo que Google sepa qué idioma mostrar para la página de inicio de sesión. Por lo que incluye en la lista de admisión el parámetro ui_locales. Luego desarrolla su sitio de modo que cuando el usuario selecciona su preferencia de idioma, su sitio lo almacena en una cookie. Si el usuario elige iniciar sesión con Google, su sitio extrae el valor de la cookie, lo almacena en el parámetro ui_locales y agrega dinámicamente el parámetro a la URL de inicialización de inicio de sesión único del proveedor de autenticación. El parámetro ui_locales se reenvía a continuación como parte de la URL de autorización de Salesforce a Google. En este punto, se redirige al usuario a la página de inicio de sesión de Google. Gracias al parámetro ui_locales, la página de inicio de sesión se muestra en el idioma preferido.
Este es otro ejemplo de cómo puede utilizar esta función para agregar funciones. Supongamos que tiene una página de inicio de sesión donde los usuarios pueden opcionalmente hacer clic en un botón para iniciar sesión con Google. Sabe que algunos usuarios tienen múltiples cuentas de Google y que Google puede solicitarles que seleccionen una cuenta antes de poder finalizar la sesión. Desea ayudar los usuarios a omitir este paso, de modo que agrega una opción en la página de inicio de sesión donde pueden ingresar su dirección de email antes de iniciar sesión con Google. Luego incluye en la lista de admisión el parámetro login_hint. Si el usuario ingresa su dirección de email, utiliza el parámetro login_hint para almacenarlo. A continuación, cuando hacen clic en la opción para iniciar sesión con Google, agrega dinámicamente el parámetro login_hint a la URL de inicialización de inicio de sesión único. El parámetro se reenvía a la URL de autorización. Cuando se dirige al usuario a Google, Google ya sabe qué cuenta desea utilizar.
Para incluir en la lista de admisión un parámetro de reenvío de proveedor de autenticación, utilice la API de metadatos. Este es un ejemplo de cómo puede utilizar Salesforce CLI para crear un proveedor de autenticación de Google a través de la API de metadatos y parámetros de lista de admisión ui_locales y login_hint. Antes de empezar, asegúrese de instalar Salesforce CLI si aún no la tiene.
- Active su organización como un Dev Hub.
- Cree un proyecto Salesforce DX.
- Autorice su organización.
- Cree un archivo de definición de organización borrador.
-
Para verificar que creó la organización borrador correctamente, ejecute este comando de CLI.
.sf org open -o <your scratch org name> - En su directorio de proyectos Salesforce DX, cree un directorio denominado AuthProviders.
-
En el directorio AuthProviders, cree un archivo denominado
package.xmlcon este contenido.<Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>AuthProvider</name> </types> <version>62.0</version> </Package> - En el directorio AuthProviders, cree un subdirectorio denominado authproviders.
-
En el subdirectorio authproviders, cree un archivo denominado
<yourauthprovidername>.authprovidercon este contenido.<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> -
Para implementar el proveedor de autenticación en su organización borrador, navegue de vuelta al directorio de proyectos de Salesforce DX y ejecute este comando de CLI.
sf project deploy start --metadata dir AuthProvidersCuando se ejecuta el comando, crea un proveedor de autenticación en su organización con los parámetrosui_localesylogin_hinten la lista de admisión. Agregue estos parámetros a las URL de configuración de su cliente y personalice las funciones de su proveedor según desee.

