Tipo de permiso de credenciales de contraseña de propietario de recurso

Utilice este tipo de permiso cuando el propietario del recurso tenga una relación de confianza con el cliente, como un sistema operativo de computadora o una aplicación con privilegios altos, porque el cliente debe desechar la contraseña después de utilizarla para obtener el token de acceso.

En el siguiente diagrama se muestra el flujo Resource Owner Password Credentials Grant Type.

Diagrama que ilustra el flujo Resource Owner Password Credentials Grant Type.

En este flujo OAuth:

  1. El usuario hace clic en un enlace de la aplicación cliente que solicita acceso a recursos protegidos.

  2. La aplicación cliente solicita el nombre de usuario y la contraseña del propietario del recurso.

  3. El usuario inicia sesión con su nombre de usuario y contraseña.

  4. La aplicación cliente intercambia esas credenciales por un token de acceso y, a menudo, por un token de refrescamiento desde el servidor de autorización.

  5. El servidor de autorización devuelve el token de acceso a la aplicación cliente.

  6. La aplicación cliente utiliza el token de acceso en una llamada de API para obtener datos protegidos, como una lista de usuarios.

Función Disponibles
Requiere autenticación de cliente No
Requiere que el cliente tenga conocimiento de las credenciales de usuario
Interacción de usuario final basada en explorador No
Puede utilizar un proveedor de identidad externo para la autenticación No
Se permite el token de refrescamiento
El token de acceso está en el contexto del usuario final

Consulte un ejemplo de Ejemplo de flujo de autorización de tipo de otorgamiento de credenciales de contraseña de propietario de recursos.

Ejemplo de Flujo de Autorización de Tipo de Permiso de Credenciales de Contraseña de Propietario de Recurso

Este ejemplo de flujo de autorización le guía a través de la obtención de un token de acceso mediante las credenciales (usuario) del propietario del recurso.

Al crear una aplicación mediante el tipo de permiso Propietario de recurso en la consola del dominio de identidad:

  • Especifique Trusted Application como tipo de aplicación.

  • Seleccione Propietario de recurso como tipo de permiso.

  • Especifique el URI de redirección, que es donde se envían las respuestas a las solicitudes de autenticación.

Consulte Tipo de permiso de credenciales de contraseña de propietario de recurso para obtener más información sobre el tipo de permiso Credenciales de contraseña de propietario de recurso y un diagrama de flujo de autorización.

Flujo de autorización de autorización

  1. Un usuario hace clic en un enlace de la aplicación cliente del servidor web y solicita acceso a recursos protegidos desde una aplicación de servidor web de terceros.

  2. La aplicación cliente recopila el nombre de usuario y la contraseña del usuario y solicita un token de acceso del servidor de autorización (AS) OAuth.

    La URL de solicitud contiene parámetros de consulta que indican el tipo de acceso que se solicita:

    Ejemplo de solicitud mediante el encabezado de autorización

       curl -i
       -H 'Authorization: Basic <base64Encoded clientid:secret>'
       -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
       --request POST https://<domainURL>/oauth2/v1/token -d 'grant_type=password&username=<user-name>&password=<example-password>&scope=<scope value>'

    Ejemplo de solicitud mediante la cabecera de autorización que incluye el token de refrescamiento en la solicitud

       curl -i
       -H 'Authorization: Basic <base64Encoded clientid:secret>'
       -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
       --request POST https://<domainURL>/oauth2/v1/token -d 'grant_type=password&username=<user-name>&password=<example-password>&scope=<Resource Server Scope>%20offline_access'

    Ejemplo de solicitud mediante una afirmación de cliente de JWT

       curl -i
       -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
       --request POST https://<domainURL>/oauth2/v1/token -d 'grant_type=password&username=<user-name>&password=<example-password>&client_id=<client-id>&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=<client-assertion>&scope=<scope value>'

    Ejemplo de solicitud mediante una afirmación de cliente de JWT que incluye el token de refrescamiento en la solicitud

       curl -i
       -H 'Content-Type: application/x-www-form-urlencoded;charset=UTF-8'
       --request POST https://<domainURL>/oauth2/v1/token -d 'grant_type=password&username=<user-name>&password=<example-password>&client_id=<client-id>&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer&client_assertion=<client-assertion>&scope=<Resource Server Scope>%20offline_access'
  3. El servidor de autorización OAuth devuelve el token de acceso. El token de acceso contiene todos los ámbitos aplicables según los privilegios representados por los roles de aplicación del dominio de identidad otorgados a la aplicación cliente solicitante y el usuario especificado por la solicitud del cliente (si está presente).

    Nota

    Si se ha realizado una solicitud para un ámbito no válido, se devuelve un error en lugar del token de acceso.
  4. El sitio solicitante utiliza el token de acceso en una llamada de API para obtener datos protegidos.