Tipo de permiso de afirmación

Utilice este tipo de permiso si desea utilizar una relación de confianza existente expresada como afirmación y sin un paso de aprobación de usuario directo en el servidor de autorización OAuth.

En el siguiente diagrama se muestra el flujo Tipo de permiso de afirmación.

Diagrama que ilustra el flujo de tipo de concesión de afirmación.

En este flujo OAuth:

  1. Un usuario intenta acceder a una aplicación cliente enviando una afirmación de usuario generada.
    Nota

    El proceso de adquisición de la afirmación está fuera del ámbito de esta explicación
  2. La aplicación cliente solicita un token de acceso y, a menudo, un token de refrescamiento, proporcionando una afirmación de usuario o una afirmación de usuario de terceros y credenciales de cliente.

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

  4. 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
Necesita que el cliente conozca las credenciales de usuario No
Interacción de usuario final basada en explorador

Nota: El proceso para generar la afirmación puede implicar la interacción del usuario.

No
Puede utilizar un proveedor de identidad externo para la autenticación
Se permite el token de refrescamiento
El token de acceso está en el contexto del usuario final

Un token de acceso estará en el contexto del asunto de la afirmación, que puede ser un usuario final, un servicio o el propio cliente.

Tal vez

Consulte un ejemplo del flujo de autorización Assertion Grant Type.

Ejemplo de flujo de autorización de tipo de otorgamiento de afirmación

En este flujo de ejemplo, Example.com se ha suscrito a varias aplicaciones PaaS y SaaS de Oracle Cloud. Los usuarios de Example.com desean poder acceder a las propiedades de Oracle Cloud sin tener que pasar por el proceso de autorización ellos mismos (autorización delegada).

Nota

El comando de este ejemplo utiliza la estructura de URL https://<domainURL>/resource-path, donde <domainURL> representa la URL del servicio de identidad y la ruta de acceso del recurso representa la API del servicio de identidad. Consulte Enviar solicitudes para obtener la estructura de URL adecuada que se debe utilizar.
Al crear una aplicación mediante el tipo de permiso Afirmación en la consola del dominio de identidad:
  • Especifique Aplicación móvil como tipo de aplicación.

  • Seleccione Afirmación como tipo de permiso.

Consulte Tipo de permiso de afirmación para obtener más información sobre el tipo de permiso de afirmación y un diagrama de flujo de autorización.

Flujo de autorización de autorización

  1. Un usuario intenta acceder a una aplicación cliente (como JCS).

    La URL contiene parámetros de consulta que indican el tipo de acceso que se solicita. La afirmación SAML2 está codificada en Base64 y el valor de destinatario de la afirmación SAML debe ser uno de los siguientes:

    • Emisor en el campo Emisor de la configuración OAuth en la interfaz de usuario.
    • O bien, https://<domainURL>/.
    • O bien, el valor de secure_saml_sp_sso_endpoint en la respuesta de detección.
    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 el encabezado 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'
  2. Un agente de Oracle Web Services Manager (del cliente) intercepta la aplicación cliente realizando una llamada de API de REST al servidor de recursos (aplicaciones de Fusion) para obtener un token de acceso.

  3. El servidor de autorización OAuth autentica la aplicación cliente según la cabecera de autorización o la afirmación enviada y devuelve un token de acceso que contiene todos los ámbitos aplicables en función de los privilegios representados por los roles de aplicación otorgados a la aplicación cliente solicitante.

  4. El usuario puede acceder a una aplicación de OPC desde otra aplicación de OPC.