Invocación del punto final UserInfo para OpenID Connect

El punto final UserInfo devuelve reclamaciones sobre un usuario que se autentica con la autenticación de OpenID Connect.

Acerca de esta tarea

Para obtener las reclamaciones de un usuario, un cliente realiza una solicitud al punto final UserInfo utilizando una señal de acceso como credencial. La señal de acceso debe haberse obtenido mediante la autenticación de OpenID Connect. Las reclamaciones del usuario representado por la señal de acceso se devuelven como un objeto JSON que contiene una colección de pares de nombre-valor para las reclamaciones. El punto final UserInfo es un recurso protegido de OAuth 2.0, lo que significa que la credencial necesaria para acceder al punto final es la señal de acceso.

Las reclamaciones devueltas por el punto final UserInfo pueden personalizarse con la configuración del proveedor de OpenID Connect; consulte Configuración de las reclamaciones devueltas por el punto final UserInfo.

Un servidor de perfiles Liberty con OpenID Connect habilitado tiene acceso al punto final UserInfo de OpenID Connect en el siguiente URL:
https://server.example.com:443/oidc/endpoint/<provider_name>/userinfo
Nota: En este ejemplo, el puerto SSL del OP se espera que sea 443.

Procedimiento

  1. Configure la autenticación con una señal de acceso obtenida mediante la autenticación de OpenID Connect. La señal de acceso puede proporcionarse en la cabecera de autorización básica HTTP o con el parámetro de solicitud access_token. En ambos casos, no es necesario codificar la señal de acceso.
  2. Envíe la solicitud GET o POST al URL de punto final UserInfo.

Resultados

Después de completar estos pasos, tiene una solicitud HTTP válida que se envía al punto final UserInfo como se muestra en la sección Ejemplos.

Para ver las solicitudes válidas, el punto final UserInfo devuelve una respuesta HTTP 200 con un objeto JSON en formato application/json que incluye las reclamaciones configuradas para el proveedor de OpenID Connect.

Ejemplo

Los ejemplos siguientes ilustran solicitudes con una señal válida y señales no válidas.

  • Solicitud que utiliza la cabecera de autorización de portador HTTP para pasar la señal de acceso
  • Respuesta de una señal de acceso válida
  • Señales de acceso no válidas
Una solicitud de ejemplo que utiliza la cabecera de autorización de portador HTTP para pasar la señal de acceso:
POST /register HTTP/1.1
Accept: application/x-www-form-urlencoded
Authorization: Bearer fAAdLO1c6QWDbPs9HrWHz5e7nRWVAnxqTTP7i88G
La señal también puede pasarse utilizando el parámetro de solicitud access_token:
 POST /register HTTP/1.1
 Accept: application/x-www-form-urlencoded
     access_token=fAAdLO1c6QWDbPs9HrWHz5e7nRWVAnxqTTP7i88G

Se recomienda utilizar la cabecera de autorización HTTP en lugar del parámetro de solicitud access_token porque los parámetros de solicitud HTTP, que pueden incluir información confidencial, pueden guardarse en la memoria caché o el historial del navegador.

A continuación, se muestra una respuesta de ejemplo de una señal de acceso válida. Las reclamaciones sub y groupids siempre se devuelven. Las otras reclamaciones que se muestran aquí son las reclamaciones predeterminadas de un proveedor de OpenID Connect.
 HTTP/1.1 200 OK
 Content-Type: application/json
 Cache-Control: no-store
 Pragma: no-cache
{
   "sub"          : "bob",
   "groupIds"     : [ "bobsdepartment","administrators" ], 
   "given_name"   : "Bob",
   "name"         : "Bob Smith",
   "email"        : "bob@mycompany.com",
   "phone_number" : "+1 (604) 555-1234;ext5678",
   "address"      : { "formatted" : "123 Main St., Anytown, TX 77777" },
   "picture"      : "http://mycompany.com/bob_photo.jpg"
}
Para una señal de acceso no válida, el punto final UserInfo devuelve un código de estado HTTP 401 con un mensaje de error en la cabecera WWW-AUTHENTICATE.
HTTP/1.1 401 Unauthorized
CONTENT-LENGTH : 0
WWW-AUTHENTICATE : Bearer error=invalid_token,       
   error_description=CWWKS1617E: Se ha realizado una solicitud de userinfo con
       una señal de acceso no reconocida. El URI de solicitud era
          /oidc/endpoint/MyOAuthProvider/userinfo.

Icono que indica el tipo de tema Tema de tarea



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_oidc_userinfo_endpoint
Nombre de archivo:twlp_oidc_userinfo_endpoint.html