Configurar un proveedor de autenticación utilizando OpenID Connect
Para configurar el inicio de sesión único (SSO) con Salesforce como parte de apoyo para un proveedor de OpenID externo, configure un proveedor de autenticación que implementa OpenID Connect. Con esta configuración, sus usuarios pueden iniciar sesión en Salesforce desde el proveedor de OpenID y autorizar a Salesforce para acceder a datos protegidos.
Ediciones necesarias
| Disponible en: Lightning Experience y Salesforce Classic |
| Disponible en: Enterprise Edition, Performance Edition, Unlimited Edition y Developer Edition |
| Permisos de usuario necesarios | |
|---|---|
| Para ver la configuración: | Ver parámetros y configuración |
| Para modificar la configuración: | Personalizar aplicación Y Gestionar proveedores de autorización |
Puede configurar un proveedor de autenticación para cualquier tercero que implemente el lado del servidor del protocolo de OpenID Connect. A continuación le indicamos algunos de los proveedores de OpenID comunes.
Para configurar Salesforce como la parte de apoyo para su proveedor de OpenID, complete estos pasos.
- Configure un controlador de registro.
- Registre su aplicación con el tercero, convirtiendo Salesforce en el dominio de la aplicación.
- Defina un proveedor de autenticación de conexión OpenID en Salesforce.
- Actualice su aplicación para utilizar la URL de devolución de llamada generada por Salesforce.
- Probar la conexión.
- Agregue el proveedor de autenticación a su página de inicio de sesión.
Configurar un controlador de registro
Para utilizar un proveedor de autenticación para el inicio de sesión único, debe crear un controlador de registro. El controlador de registro crea usuarios y actualiza usuarios existentes que acceden a Salesforce a través del proveedor de identidad. Puede configurar un controlador de registro con Apex o Flow Builder. Para obtener más información, consulte Crear un gestor de registro de proveedor de autenticación.
Registrar una aplicación en el proveedor de OpenID
Antes de poder definir su proveedor de autenticación en Salesforce, deberá registrar una aplicación web con su proveedor de OpenID. El proceso varía dependiendo del proveedor de OpenID. Por ejemplo, para registrar una aplicación de Google, Cree un Id. de cliente de OAuth 2.0.
- Registre su aplicación en el sitio Web de su proveedor de OpenID.
- Modifique la configuración de la aplicación y establezca el dominio de la aplicación, o URL de página de inicio, como Salesforce.
-
Desde la documentación del proveedor de OpenID, obtenga estos valores de configuración:
- Id. de cliente
- Secreto de cliente
- UR de extremo de autorización
- URL de extremo de token
- URL de extremo de información de usuario
Defina un proveedor de autenticación en Salesforce
Asegúrese de apuntar el valor de Id. de proveedor de autorización generado. Utilícelo con la clase de Apex Auth.AuthToken.
- Desde Configuración, en el cuadro Búsqueda rápida, ingrese Autenticación y, a continuación, seleccione Proveedores de autenticación.
- Haga clic en Nuevo.
- Para el tipo de proveedor, seleccione OpenID Connect.
- Ingrese un nombre para el proveedor.
- Ingrese el Sufijo de URL, que se utiliza en las direcciones URL de configuración de cliente. Por ejemplo, si el sufijo de URL de su proveedor de autenticación es MyOpenIDConnectProvider, su URL de SSO es similar a https://mydomain_url or site_url /services/auth/sso/OpenIDConnectProvider.
- Para Clave del consumidor, utilice el Id. de cliente de su proveedor de OpenID.
- Para Pregunta secreta del consumidor, utilice el secreto de cliente de su proveedor de OpenID.
-
Para Autorizar URL de extremo, ingrese la URL base de su proveedor de OpenID.
Sugerencia Puede agregar parámetros de cadena de consulta a la URL de base, si es necesario. Por ejemplo, para obtener un token de actualización de Google para un acceso offline, utilice https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force. Necesita el parámetro approval_prompt para pedir al usuario que acepte la acción de actualización, de modo que Google continuará proporcionando tokens de actualización tras el primero. - Ingrese la URL de extremo de token de su proveedor de OpenID.
-
Ingrese la URL de extremo de información de usuario de su proveedor de OpenID.
Nota Si desea integrar el proveedor con su API empleando OAuth, no se requiere un extremo de información de usuario. - Para activar automáticamente la extensión Proof Key para Code Exchange (PKCE) de OAuth 2.0, que mejora la seguridad, seleccione Utilizar clave de prueba para la extensión Code Exchange (PKCE). Para obtener más información acerca de cómo ayuda este parámetro a proteger su proveedor, consulte Construir la extensión PKCE en sus implementaciones.
-
Opcionalmente, establezca estos campos.
- El campo Emisor de token identifica el origen del token de autenticación en el formato
https://URL.Para un flujo de autenticación de servidor web OAuth 2.0, el proveedor debe incluir un token de Id. en la respuesta desde el extremo del token. Opcionalmente, el proveedor puede incluir un token de Id. en la respuesta para un flujo de token de actualización.
El token de Id. se valida con el valor de Emisor de token y la información del extremo de UserInfo. La firma del Id. de token no está validada.
La audiencia del token de Id. es la clave de consumidor registrada con su proveedor de autenticación. No incluya otros valores de audiencias.
- Para Ámbitos predeterminados, ingrese los ámbitos para enviarlos junto con la solicitud al extremo de la autorización. De lo contrario, se utilizan los valores predeterminados codificados para el tipo de proveedor de autenticación. Consulte Documentación del desarrollador de OpenID Connect para estos valores predeterminados.
Para Ámbitos predeterminados, ingrese los ámbitos para enviarlos junto con la solicitud al extremo de la autorización. De lo contrario, se utilizan los valores predeterminados codificados para el tipo de proveedor de autenticación. Consulte Documentación del desarrollador de OpenID Connect para estos valores predeterminados.
- Si ingresa una clave de consumidor y un secreto de consumidor, el secreto de consumidor se incluye en respuestas de API de SOAP de forma predeterminada. Para ocultar el secreto en respuestas de API de SOAP, anule la selección de Incluir secreto de consumidor en respuestas de API de SOAP. A partir de noviembre de 2022, el secreto se sustituye siempre en respuestas de la API de metadatos por un valor de marcador. En la implementación, sustituya el marcador de posición por su secreto de consumidor como texto normal, o modifique el valor más adelante a través de la interfaz de usuario.
- El campo Emisor de token identifica el origen del token de autenticación en el formato
- Opcionalmente, para enviar el token en un encabezado en vez de una cadena de consulta, seleccione Enviar token de acceso en encabezado.
- Opcionalmente, para enviar la clave y el secreto de consumidor en un encabezado Básico en vez de en el cuerpo de la solicitud, seleccione Enviar credenciales de cliente en encabezado.
-
Opcionalmente, establezca estos campos.
- Para URL personalizada del error, ingrese la URL para que la utilice el proveedor para informar sobre cualquier error.
- Para URL de cierre de sesión personalizada, ingrese una URL para proporcionar un destino específico a los usuarios después de cerrar sesión, si se autentican utilizando el flujo de SSO. Utilice este campo para dirigir los usuarios a una página de cierre de sesión con marca o un destino que no sea la página de cierre de sesión predeterminada de Salesforce. La URL debe ser completa con un prefijo http o https, como https://acme.my.salesforce.com.
Sugerencia Configure cierre de sesión único (SLO) para cerrar la sesión de un usuario desde Salesforce y el proveedor de identidad. Como la parte de confianza, Salesforce admite SLO de OpenID Connect cuando el usuario cierra sesión en Salesforce o el proveedor de identidad. -
Para utilizar un controlador de registro Apex, siga estos pasos.
- Para Tipo de controlador de registro, seleccione Apex.
-
Para Registration Handler, seleccione una clase Apex existente que implemente la interfaz de
Auth.RegistrationHandler. O bien, para crear una plantilla para el controlador de registro, haga clic en Crear automáticamente una plantilla de controlador de registro. Modifique esta clase más adelante y modificar el contenido predeterminado antes de utilizarla.
-
Para utilizar un flujo para su controlador de registro, siga estos pasos.
- Para Tipo de controlador de registro, seleccione Flujo.
- Para Controlador de registro, seleccione un flujo existente del tipo de flujo Registro de usuario de identidad.
-
Seleccione un perfil predeterminado. Se requiere un perfil predeterminado para ejecutar el controlador de registro. Si no especifica un perfil predeterminado aquí, establezca el perfil predeterminado en el flujo en sí.
Si utiliza la plantilla de flujo Registro de usuario de proveedor de autenticación, el perfil que establece aquí se almacena automáticamente en la variable defaultProfileId.
-
Seleccione una cuenta predeterminada. Si utiliza su proveedor de autenticación para sitios de Experience Cloud, esta cuenta almacena nuevos usuarios internos.
Si utiliza la plantilla de flujo Registro de usuario de proveedor de autenticación, el perfil que establece aquí se almacena automáticamente en la variable defaultAccountId.
-
Para Ejecutar registro como, seleccione un usuario de ejecución para ejecutar la clase o el flujo Apex. El usuario debe tener el permiso Gestionar usuarios.
Ejecutar registro como proporciona el contexto en que se ejecuta el controlador de registro. En producción, habitualmente crea un usuario del sistema para el usuario Ejecutar registro como. De este modo, las operaciones realizadas por el controlador se pueden seguir fácilmente de vuelta al proceso de registro. Por ejemplo, si se crea un contacto, el usuario del sistema lo crea.
- Para utilizar un portal con su proveedor, seleccione el portal en la lista desplegable Portal.
- Para URL de icono, agregue una ruta a un icono para que se muestre como un botón en la página de inicio de sesión para un sitio. Este icono se aplica únicamente a un sitio de Experience Cloud. No aparece en su página de inicio de sesión de Salesforce ni en su URL de inicio de sesión de Mi dominio. Los usuarios hacen clic en el botón para iniciar sesión con el proveedor de autenticación asociado para el sitio. Especifique una ruta a su propia imagen, o copiar la dirección URL de uno de nuestros iconos de muestra en el campo.
- Para utilizar la función de autenticación de múltiples factores (MFA) de Salesforce en vez del servicio MFA de su proveedor de identidad, seleccione Utilizar MFA de Salesforce para este proveedor de SSO. Este parámetro desencadena MFA únicamente para usuarios que tienen MFA aplicada a ellos directamente. Para obtener más información, consulte Utilizar Salesforce MFA para SSO.
- Guarde los ajustes.
Se generan varias URL de configuración de cliente tras definir el proveedor de autenticación.
Las URL de configuración de cliente admiten parámetros de solicitud adicionales que le permiten dirigir usuarios a iniciar sesión en sitios específicos, obtener permisos personalizados de terceros o ir a una ubicación específica después de la autenticación.
Actualizar su aplicación de OpenID Connect
Después de definir el proveedor de autenticación en Salesforce, vuelva a su proveedor de OpenID y actualice la URL de devolución de llamada de su aplicación. Para aplicaciones de Google, la URL de devolución de llamadas es llamada URI de redirección autorizada. Para PayPal, es llamada URL de retorno.
Probar la conexión SSO
En un navegador, abra la URL de inicialización sólo de prueba en la página Configuración del proveedor de autorización. Le redirige al proveedor de OpenID y le solicita iniciar sesión. A continuación, se le solicitará autorizar su aplicación. Cuando la autorice, se le redirigirá a Salesforce.
Agregar el proveedor de autenticación a su página de inicio de sesión
Configure su página de inicio de sesión para mostrar el proveedor de autenticación como opción de inicio de sesión. Dependiendo de que esté configurando SSO para una organización o un sitio de Experience Cloud, este paso es diferente.
- Para las organizaciones, consulte Agregar un proveedor de autenticación a la página de inicio de sesión de su organización.
- Para sitios de Experience Cloud, consulte Agregar un proveedor de autenticación a la página de inicio de sesión de su sitio de Experience Cloud.

