Flujo de afirmación SAML para acceder a la API
El flujo de afirmación SAML es una alternativa para las organizaciones que utilizan SAML para acceder a Salesforce y desean acceder a la API de la misma forma. Los clientes pueden federarse con la API mediante la afirmación SAML, de las misma forma que se federan con Salesforce para el inicio de sesión único Web. Puede utilizar este flujo de afirmación sin una aplicación conectada.
Ediciones necesarias
| Disponible en: Salesforce Classic y Lightning Experience |
| Disponible en: todas las ediciones |
Revise estas limitaciones:
- No puede utilizar este flujo en mÔs de una organización.
- La autenticación a través de este flujo no invoca flujos de inicio de sesión. No puede aplicar flujos de inicio de sesión a inicios de sesión de API o a escenarios en los que las sesiones pasan a la interfaz de usuario por medio de frontdoor.jsp desde un proceso de inicio de sesión sin interfaz de usuario.
- Los sitios de Experience Cloud no admiten este flujo.
Para utilizar el flujo de afirmación SAML, siga estos pasos.
- Configure SAML versión 2.0 para su organización.
- Intercambie una afirmación SAML para un token de acceso.
- Después de verificar la afirmación, Salesforce otorga un token de acceso.
- Utilice un analizador JSON para procesar la respuesta y extraer el token de acceso.
Nota Nunca se emiterefresh_tokenen este flujo.
Configuración de SAML 2.0
Para configurar su organización para utilizar SAML, consulte Configurar SSO con Salesforce como proveedor de servicio de SAML. Puede utilizar la misma configuración para la federación web y de API.
DespuƩs de configurar SAML, Salesforce genera estas URL.
- Salesforce.com Login URL: utilice esta URL con SSO Web.
- OAuth 2.0 Token Endpoint: utilice esta URL cuando intercambie una afirmación SAML para un token de acceso para acceder a la API.
Cuando genere afirmaciones SAML que se utilicen con el extremo de tokens de Salesforce, la URL de destinatario de la afirmación puede ser el valor de OAuth 2.0 Token Endpoint o de Salesforce.com Login URL.
Intercambio de una afirmación SAML para un token de acceso
Para intercambiar una afirmación SAML por un token de acceso, su cliente obtiene o genera una respuesta SAML vÔlida y la publica en el extremo de tokens de Salesforce. El cliente determina el método para obtener esta respuesta.
A continuación se incluye un ejemplo de la operación POST fuera de banda en el extremo de tokens de Salesforce.
grant_type=assertion&
assertion_type=urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser&
assertion=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNhbW. . .Cuando el cliente recibe una respuesta vĆ”lida, envĆa estos parĆ”metros.
| ParÔmetro | Descripción |
|---|---|
grant_type
|
El tipo de otorgamiento de OAuth 2.0 que solicita la aplicación conectada. El valor debe ser assertion de este flujo. |
assertion
|
Una respuesta SAML con codificación en base 64 y después con codificación URL que normalmente se utiliza para el inicio de sesión único Web. |
assertion_type
|
El valor debe ser urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser, URL codificada. |
format
|
Si no se incluye en el encabezado de la solicitud, puede especificar el formato de devolución esperado. El parÔmetro
|
Salesforce otorga un token de acceso
DespuĆ©s de verificar la respuesta SAML, Salesforce envĆa una respuesta al cliente que contiene el token de acceso.
A continuación se incluye un ejemplo de respuesta de Salesforce.
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"instance_url":"https://yourInstance.salesforce.com",
"access_token":"00Dx0000000BV7z!AR8AQNhMmQeDIKR0.hZagSTaEPCkmoXeYnkaxQnqWlG6Sk9U3i3IFjEHIzDlsYdU0qoVCXNJtPOwdb7u5rKfq9NldfAKoQjd",
"token_type":"Bearer"} | ParÔmetro | Descripción |
|---|---|
id
|
Una URL de identidad que se puede utilizar para identificar al usuario y para consultar con el fin de obtener mÔs información acerca del usuario. Consulte URL de identidad. |
instance_url
|
Una URL que indica la instancia de la organización del usuario. Por ejemplo: https://yourInstance.salesforce.com/. |
access_token
|
Token de OAuth que una aplicación conectada utiliza para solicitar el acceso a un recurso protegido en nombre de una aplicación cliente. Pueden acompañar permisos adicionales en la forma de Ômbitos al token de acceso. |
token_type
|
Un tipo de token Bearer, que se utiliza para todas las respuestas que influyen un token de acceso. |

