Repositorio de Liberty[8.5.5.4 o posterior]

Configuración de un proveedor de OpenID Connect para habilitar solicitudes OAuth de dos segmentos

El flujo de OAuth típico consta de tres "segmentos" o etapas de interacción entre un cliente y un servidor de autorización. En los escenarios de OAuth de dos segmentos, el cliente utiliza ámbitos autorizados previamente para que no sea necesaria ninguna interacción con el usuario, lo que elimina la necesidad de ejecutar uno de los segmentos en el flujo normal. En concreto, no es necesario que el usuario se autentique en el servidor de autorización ni que dé el consentimiento para compartir la información especificada por los ámbitos solicitados. En su lugar, todos los parámetros de ámbito se consideran autorizados previamente y se añaden automáticamente a la señal de solicitud, que se envía al servidor de autorización.

Antes de empezar

Esta tarea espera que tenga un servidor de perfiles Liberty configurado correctamente como un proveedor de OpenID Connect.

Acerca de esta tarea

En los escenarios con dos segmentos o etapas, un cliente de OpenID Connect puede enviar una solicitud HTTP de 2 segmentos con un grant type igual a client_credential o resource owner password. Estas solicitudes no pasan por el punto final de autorización, por lo que no hay ningún formulario de consentimiento de ámbito para que los usuarios puedan confirmar y aprobar los ámbitos solicitados; no obstante, el proveedor de OpenID Connect aún debe gestionar los ámbitos autorizados en su contenido de access_token.

Los servidores de perfiles Liberty que se configuran como proveedores de OpenID Connect y están equipados para manejar solicitudes de OAuth de dos segmentos aprueban los ámbitos autorizados previamente utilizando los siguientes criterios:

  1. Si el valor de parámetro grant_type de una solicitud es client_credential o resource owner password y la solicitud es una solicitud de OAuth 2.0, todos los ámbitos definidos en la solicitud se aprueban y se copian en el contenido de la señal de acceso. Este es el comportamiento existente de la característica OAuth 2.0.
  2. Si la solicitud es una solicitud de OpenID Connect o una solicitud OAuth de señal JWT, se utilizan los siguientes criterios:
    • Si no hay ningún parámetro de ámbito especificado en la solicitud, el proveedor de OpenID Connect no aceptará la solicitud.
    • Los ámbitos solicitados deben estar presentes en la lista de ámbitos definidos por el atributo scope de la configuración del cliente y también deben especificarse en la lista preAuthorizedScope de la configuración del cliente.

Esta tarea muestra cómo configurar un servidor de perfiles Liberty que actúa como un proveedor de OpenID Connect para habilitar las solicitudes OAuth de dos segmentos.

Procedimiento

Para especificar la lista de ámbitos autorizados previamente de un cliente, añada los ámbitos necesarios a los atributos scope y preAuthorizedScope de la configuración del cliente en el elemento <oauthProvider> correspondiente en el archivo server.xml. En el ejemplo que se muestra, los ámbitos profile y email están cualificados para especificarse en la lista de ámbitos de la señal de acceso que devuelve el proveedor de OpenID Connect. El ámbito phone no se considera un ámbito autorizado previamente porque no se encuentra en la lista preAuthorizedScope.
<oauthProvider id="OAuthConfigSample" ...>
 ....
           <localStore>
             <client name="client01" secret="{xor}..."
               displayname="client01"
               scope="profile email phone"
               preAuthorizedScope="profile email"
               enabled="true" />
             ....
           </localStore>
</oauthProvider>
Nota: Si un ámbito solicitado no está listado en el atributo scope de la configuración del cliente, se omite del ámbito de la señal de acceso que se devuelve. Si un ámbito solicitado aparece listado en el atributo scope de la configuración del cliente, pero no está incluido en la lista preAuthorizedScope de la configuración del cliente, desencadena un error invalid_grant en la respuesta del proveedor de OpenID Connect.

Icono que indica el tipo de tema Tema de tarea

Términos y condiciones para centros de información | Comentarios


Icono de indicación de fecha y hora Última actualización: 15 de junio de 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_oidc_2leg_oauth_req
Nombre de archivo:twlp_oidc_2leg_oauth_req.html