Crear un controlador de registro de proveedor de autenticación
Para configurar el inicio de sesión único (SSO) con un proveedor de autenticación, debe configurar un controlador de registro. El controlador de registro crea y actualiza usuarios de Salesforce después de autenticarse con el proveedor de identidad. Para configurar un controlador de registro, puede utilizar Flow Builder o Apex.
Ediciones necesarias
| Disponible en: Lightning Experience y Salesforce Classic |
| Disponible en: Enterprise Edition, Performance Edition, Unlimited Edition y Developer Edition |
¿Qué hace un controlador de registro?
Para comprender la función de un controlador de registro durante SSO, esta es una descripción general simplificada de cómo funciona SSO con el marco de trabajo del proveedor de autenticación.
- (1) El usuario final va a Salesforce y hace clic en un botón para iniciar sesión con un proveedor de identidad, como Google.
- (2) Salesforce redirige el navegador del usuario a la página de inicio de sesión del proveedor de identidad.
- (3) En la página de inicio de sesión del proveedor de identidad, el usuario ingresa sus credenciales.
- (4) El proveedor de identidad autentica al usuario y devuelve tokens a Salesforce, incluyendo un token de Id.
- (5) Si el proveedor de identidad admite un extremo de información de usuario, Salesforce utiliza los tokens para solicitar una respuesta de información de usuario.
- (6) Si se admite, el proveedor de identidad devuelve una respuesta de información de usuario.
- (7) Utilizando información devuelta desde el proveedor de identidad, Salesforce crea un objeto Apex
Auth.UserDatapara representar al usuario. - (8) En Salesforce, el controlador de registro toma la información del proveedor de identidad y completa estas acciones.
- El controlador de registro busca un usuario de Salesforce con información que coincida con la información devuelta por el proveedor de identidad.
- Si no hay un usuario coincidente, el controlador de registro crea un registro de usuario.
- Si hay un usuario coincidente, el controlador de registro actualiza el registro de usuario con información del proveedor de identidad.
- (9) El usuario creado o actualizado inicia sesión en Salesforce y puede acceder a sus datos de Salesforce.
Seleccionar un tipo de controlador de registro
Antes de elegir un tipo de controlador de registro, considere el diseño básico de su controlador de registro. Cuando tiene una idea de su diseño, es más fácil determinar si flujo o Apex es mejor para su caso de uso. Como mínimo, su controlador de registro debe realizar estas tareas.
- Tome información del proveedor de identidad y busque un registro de usuario coincidente en Salesforce. Dependiendo de su proveedor de identidad, este paso puede requerir analizar estructuras JSON complejas.
- Decida si crear un usuario o actualizar un usuario existente.
- Cree un registro de usuario completo basado en información del proveedor de identidad.
- Actualice un usuario existente con información del proveedor de identidad.
No hay una regla estricta para qué tipo de controlador de registro utilizar. Cuando revise estas consideraciones, piense en lo que desea que haga el controlador de registro y qué recursos tiene disponibles.
| Consideración | Flujo | Apex |
|---|---|---|
| Desempeño y escala para casos de uso complejos | Admite la mayoría de los casos de uso, pero no siempre es ideal para casos de uso muy complejos | Admite casos de uso más complejos |
| Accesibilidad y capacidad de mantenimiento | Se puede configurar y mantener completamente con clics en vez de código. No se necesita Developer Knowledge. | Requiere que un desarrollador entrenado por Apex desarrolle y mantenga |
| Acceso de usuario | Proporciona una forma integrada de controlar el acceso de usuarios agregando y eliminando conjuntos de permisos en una sola transacción, lo que le ayuda a evitar errores DML mixtos que son comunes con Apex | Puede ser más complejo gestionar conjuntos de permisos evitando al mismo tiempo errores DML mixtos |
| Analizar información del proveedor de identidad | Proporciona acción invocable para recuperar un valor de atributo específico desde estructuras JSON complejas anidadas. Si el proveedor de identidad devuelve una respuesta de información de usuario y un token de Id., esta acción facilita la recuperación de información. | Para recuperar información desde la respuesta de información de usuario o el token de Id., debe crear un método para recuperar valores de atributos específicos desde el proveedor de identidad. |
- Desarrollar un controlador de registro Apex
Para configurar el inicio de sesión único (SSO) con un proveedor de autenticación, debe crear un controlador de registro. Durante SSO, el controlador crea y actualiza usuarios basándose en información del proveedor de identidad. Para casos de uso de alta escala y alto desempeño, desarrolle un controlador de registro con Apex. - Diseñar un flujo de registro de usuario de proveedor de autenticación
Antes de configurar un controlador de registro de proveedor de autenticación con Flow Builder, comprenda los requisitos del controlador de registro. - Ejemplo: Flujo del controlador de registro de proveedor de autenticación
Para crear un flujo de controlador de registro para el inicio de sesión único (SSO), personalice la plantilla Flujo de registro de usuario de proveedor de autenticación. La plantilla crea y actualiza usuarios internos y externos. Le muestra cómo utilizar las acciones invocables Obtener datos de usuario desde cadena JSON y Generar datos de usuario. También le muestra cómo gestionar asignaciones de conjuntos de permisos. - Solucionar problemas de un flujo de registro de usuario de proveedor de autenticación
Cuando utiliza un flujo para el registro de usuario de proveedor de autenticación, existen algunos errores que se revelan solo cuando ejecuta el flujo. Aprenda cómo actualizar su flujo basándose en errores de ejecución.

