Flujo nombre de usuario-contraseƱa de OAuth 2.0 para escenarios especiales
Puede utilizar el flujo nombre de usuario-contraseƱa para autorizar a un cliente a travĆ©s de una aplicación conectada que ya tiene las credenciales del usuario. No obstante, recomendamos evitar este flujo porque pasa las credenciales en ambas direcciones. UtilĆcelo Ćŗnicamente si hay un alto grado de confianza entre el propietario del recurso y el cliente, el cliente es una aplicación propia, Salesforce estĆ” alojando los datos y no hay otros tipos de otorgamiento disponibles. En estos casos, establezca los permisos de usuario para minimizar el acceso y proteger las credenciales almacenadas contra el acceso no autorizado.
Ediciones necesarias
| Disponible en: Salesforce Classic y Lightning Experience |
| Disponible en: todas las ediciones |
Consulte Las nuevas aplicaciones conectadas ya no se pueden crear en Spring ā26 para obtener mĆ”s detalles.
El flujo nombre de usuario-contraseña genera tokens de acceso como identificadores de sesión de Salesforce que no puede ser introspectivos. Debido a que los tokens de acceso son temporales, las aplicaciones conectadas que estÔn utilizando este flujo no se muestran en la pÔgina Uso de OAuth de aplicaciones conectadas, incluso si tienen una sesión activa. Este flujo no admite Ômbitos ni tokens de actualización. Los sitios de Experience Cloud no admiten el flujo nombre de usuario-contraseña de OAuth 2.0.
A continuación se enumeran los pasos principales del flujo nombre de usuario-contraseña.
- La aplicación conectada solicita un token de acceso enviando las credenciales de inicio de sesión del usuario al extremo de tokens de Salesforce.
- Después de verificar la solicitud, Salesforce otorga un token de acceso a la aplicación conectada.
- La aplicación conectada puede utilizar el token de acceso para acceder a los datos protegidos en nombre del usuario.
Solicitar un token de acceso
Para solicitar un token de acceso, la aplicación conectada envĆa el nombre de usuario y la contraseƱa del usuario como una operación POST fuera de banda al extremo de tokens de Salesforce. Esta POST es un ejemplo.
grant_type=password&
client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&
client_secret=1955279925675241571&
username=testuser@salesforce.com&
password=mypasswordIncluya estos parƔmetros en la POST.
| ParÔmetro | Descripción |
|---|---|
grant_type
|
El tipo de otorgamiento de OAuth 2.0 que solicita la aplicación conectada. El valor debe ser password para este flujo. |
client_id
|
Haga clic en la clave de consumidor de la aplicación conectada. Para acceder a la clave de consumidor, desde el Gestor de aplicaciones, busque la aplicación conectada y seleccione Ver desde el menú desplegable. A continuación haga clic en Gestionar detalles de consumidor. A veces se le solicita verificar su identidad antes de poder ver la clave de consumidor. |
client_secret
|
Haga clic en el secreto de consumidor de la aplicación conectada. Para acceder al secreto de consumidor, desde el Gestor de aplicaciones, busque la aplicación conectada y seleccione Ver desde el menú desplegable. A continuación haga clic en Gestionar detalles de consumidor. A veces se le solicita verificar su identidad antes de poder ver el secreto de consumidor. |
username
|
El nombre de usuario del usuario que estÔ imitando la aplicación conectada. |
password
|
La contraseña del usuario que estÔ imitando la aplicación conectada. Al utilizar el flujo nombre de usuario-contraseña con una API, cree un campo en la pantalla de inicio de sesión del nombre de usuario y contraseña en el que los usuarios puedan ingresar su token de seguridad. Un testigo de seguridad es una clave generada automÔticamente que se debe agregar al final de la contraseña para iniciar sesión en Salesforce desde una red no fiable. Concatene la contraseña y el token al pasar la solicitud de autenticación. |
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 solicitud, Salesforce envĆa una respuesta al cliente.
A continuación se incluye un ejemplo de respuesta.
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448832702",
"instance_url":"https://yourInstance.salesforce.com/",
"signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=",
"access_token":"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW19ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs",
"token_type":"Bearer"}Estos parƔmetros se encuentran en el cuerpo de la respuesta.
| 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. |
issued_at
|
Marca de tiempo del momento de creación de la firma en milisegundos. |
instance_url
|
Una URL que indica la instancia de la organización del usuario. Por ejemplo: https://yourInstance.salesforce.com/.
|
signature
|
Firma HMAC-SHA256 con codificación Base64 firmada con client_secret. La firma puede incluir el Id. concatenado y issued_at value, que puede utilizar para verificar que la URL de identidad no cambió desde que la envió el servidor. |
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.
|

