Loading
Proteger su organización de Salesforce
Agregar funciones de forma dinámica a un proveedor de autenticación

Agregar funciones de forma dinámica a un proveedor de autenticación

Para la mayor flexibilidad con la funcionalidad 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 las direcciones URL de configuración de su 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.

Debido a que 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. A continuación 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. De modo que incluye en la lista de admisión el parámetro ui_locales. A continuación 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 su 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 introducir su dirección de correo electrónico antes de iniciar sesión con Google. A continuación incluye en la lista de admisión el parámetro login_hint. Si el usuario introduce su dirección de correo electrónico, 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 el usuario se dirige 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 ui_locales y login_hint de lista de admisión. Antes de empezar, asegúrese de instalar Salesforce CLI si aún no la tiene.

  1. Active su organización como un Dev Hub.
  2. Cree un proyecto Salesforce DX.
  3. Autorice su organización.
  4. Cree un archivo de definición de organización borrador.
  5. Para verificar que creó la organización borrador correctamente, ejecute este comando de CLI.
    sf org open -o <your scratch org name>
    .
  6. En su directorio de proyectos Salesforce DX, cree un directorio denominado AuthProviders.
  7. En el directorio AuthProviders, cree un archivo denominado package.xml con este contenido.
    <Package xmlns="http://soap.sforce.com/2006/04/metadata">
        <types>
            <members>*</members>
            <name>AuthProvider</name>
        </types>
        <version>62.0</version>
    </Package>
    
  8. En el directorio AuthProviders, cree un subdirectorio denominado authProviders.
  9. En el subdirectorio authproviders, cree un archivo denominado <yourauthprovidername>.authprovider con 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>
  10. 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 AuthProviders
    Cuando se ejecuta el comando, crea un proveedor de autenticación en su organización con los parámetros ui_locales y login_hint en la lista de admisión. Agregue estos parámetros a las direcciones URL de configuración de su cliente y personalice las funciones de su proveedor según desee.
 
Cargando
Salesforce Help | Article