Saltar al contenido principal

Reclamos de token personalizados

Introducción

Los tokens de acceso juegan un papel crítico en el proceso de autenticación y autorización, llevando la información de identidad del sujeto y permisos, y se pasan entre el servidor Logto (sirve como servidor de autenticación o proveedor de identidad, IdP), tu servidor de servicio web (proveedor de recursos) y aplicaciones cliente (clientes).

Los reclamos de token son los pares clave-valor que proporcionan información sobre una entidad o el propio token. Los reclamos pueden incluir información del usuario, tiempo de expiración del token, permisos y otros metadatos que son relevantes para el proceso de autenticación (enlace a auth.wiki) y autorización (enlace a auth.wiki).

Hay dos tipos de tokens de acceso en Logto:

  • JSON Web Token: JSON Web Token (JWT) es un formato popular que codifica reclamos de una manera que es segura y legible por los clientes. Reclamos comunes como sub, iss, aud, etc., se utilizan de acuerdo con el protocolo OAuth 2.0 (Consulta este enlace para más detalles). Los tokens JWT permiten a los consumidores acceder directamente a los reclamos sin pasos de validación adicionales. En Logto, los tokens de acceso se emiten en formato JWT por defecto cuando un cliente inicia solicitudes de autorización de recursos o organizaciones específicas.
  • Token opaco (Opaque token): Un token opaco no es autónomo y siempre requiere un paso de validación adicional a través del endpoint de introspección de token. A pesar de su formato no transparente, los tokens opacos pueden ayudar a obtener reclamos y transmitirse de manera segura entre las partes. Los reclamos de token se almacenan de manera segura en el servidor Logto y son accesibles por las aplicaciones cliente a través del endpoint de introspección de token. Los tokens de acceso se emiten en formato opaco cuando no se incluye un recurso o una organización específica en la solicitud de autorización. Estos tokens se utilizan principalmente para acceder al endpoint userinfo de OIDC y otros propósitos generales.

En muchos casos, los reclamos estándar no son suficientes para satisfacer las necesidades específicas de tus aplicaciones, ya sea que estés utilizando JWT o tokens opacos. Para abordar esto, Logto proporciona la flexibilidad de agregar reclamos personalizados dentro de los tokens de acceso. Con esta función, puedes incluir información adicional para tu lógica de negocio, todo transmitido de manera segura en los tokens y recuperable a través de la introspección en el caso de los tokens opacos.

¿Cómo funcionan los reclamos de token personalizados?

Logto te permite insertar reclamos personalizados en el token de acceso a través de una función de callback getCustomJwtClaims. Puedes proporcionar tu implementación de la función getCustomJwtClaims para devolver un objeto de reclamos personalizados. El valor de retorno se fusionará con la carga útil original del token y se firmará para generar el token de acceso final.

aviso:

Los reclamos de token integrados de Logto NO pueden ser sobrescritos o modificados. Los reclamos personalizados se agregarán al token como reclamos adicionales. Si algún reclamo personalizado entra en conflicto con los reclamos integrados, esos reclamos personalizados serán ignorados.

Añade reclamos personalizados para tokens de acceso JWT con Logto para mejorar tu autorización