Logo Logo
GitHub Designed by Logto

¿Qué es un endpoint de información del usuario (userinfo endpoint)?

En OpenID Connect (OIDC) , un endpoint de información del usuario (userinfo endpoint) es un endpoint del Proveedor de OpenID (OP) que ofrece información de usuario a los clientes . El userinfo endpoint es generalmente un endpoint suplementario al Token de ID (ID token) y permite a los clientes obtener información adicional del usuario que no está incluida en el ID token.

El userinfo endpoint está definido en la especificación central de OpenID Connect y típicamente es accesado por los clientes después de que han obtenido un ID token.

¿Cómo funciona un endpoint de información del usuario (userinfo endpoint)?

Cuando un cliente realiza una solicitud al userinfo endpoint, necesita incluir el access token obtenido del Solicitud de token (Token request) y usar los métodos HTTP GET o POST. El userinfo endpoint valida el access token y devuelve la información del usuario en la respuesta.

Aquí hay un ejemplo no normativo de una solicitud al userinfo endpoint:

GET /userinfo HTTP/1.1
Host: openid-provider.example.com
Authorization: Bearer some-access-token

La ruta exacta del userinfo endpoint puede variar en diferentes proveedores de OpenID. Puedes referirte al Descubrimiento de OpenID Connect (OpenID Connect Discovery) del proveedor para encontrar la URL del userinfo endpoint. Si el access token es válido, el userinfo endpoint responde con la información del usuario:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "sub": "user123",
  "name": "Alice",
  "email": "[email protected]",
  "birthdate": "1990-01-01",
  "address": {
    "street": "1234 Elm St",
    "city": "Springfield",
    "country": "US"
  }
}

La respuesta puede contener varios atributos del usuario como name, email, birthdate y address; y típicamente, contiene más claims que el Token de ID (ID token) . Los atributos reales devueltos dependen de la configuración del Proveedor de OpenID (OP) y del consentimiento del usuario. Consulta la documentación de tu proveedor de OpenID para conocer los atributos específicos disponibles.

Firma y cifrado

La respuesta del userinfo puede ser firmada y/o cifrada para asegurar su integridad y confidencialidad. Si se aplica una o ambas de estas protecciones, la respuesta del userinfo endpoint será un JSON Web Token (JWT) en lugar de un objeto JSON simple.

Ver también