Saltar al contenido principal
Los claims de los JSON web tokens (JWTs) son datos que se afirman sobre un sujeto. Por ejemplo, un token de ID (que siempre es un ) puede contener un claim llamado name que indica que el nombre del usuario que se está autenticando es “John Doe”. En un JWT, un claim aparece como un par nombre/valor, donde el nombre siempre es una cadena y el valor puede ser cualquier valor JSON. En general, cuando hablamos de un claim en el contexto de un JWT, nos referimos al nombre (o la clave). Por ejemplo, el siguiente objeto JSON contiene tres claims (sub, name, admin):
{
      "sub": "1234567890",
      "name": "John Doe",
      "admin": true
    }
Para obtener más información sobre los claim estándar de OpenID Connect (OIDC), consulta OpenID Connect Scopes y OpenID Connect Standard Claims.
Hay dos tipos de claim de JWT:
  • Registrados: claim estándar registrados en la Internet Assigned Numbers Authority (IANA) y definidos por la especificación de JWT para garantizar la interoperabilidad con aplicaciones de terceros o externas. Los claim estándar de OIDC son claim reservados.
  • Personalizados:  consisten en claim públicos o privados no registrados. Los claim públicos son resistentes a colisiones, mientras que los claim privados están sujetos a posibles colisiones.

Claims registrados

La especificación JWT define siete claims reservados que no son obligatorios, pero se recomiendan para permitir la interoperabilidad con aplicaciones de terceros. Estos son:
  • iss (emisor): Emisor del JWT
  • sub (sujeto): Sujeto del JWT (el usuario)
  • aud (): Destinatario al que está dirigido el JWT
  • exp (tiempo de expiración): Momento a partir del cual el JWT expira
  • nbf (tiempo de no validez antes de): Momento antes del cual el JWT no debe aceptarse para su procesamiento
  • iat (hora de emisión): Momento en que se emitió el JWT; puede usarse para determinar la antigüedad del JWT
  • jti (ID del JWT): Identificador único; puede usarse para evitar la reutilización del JWT (permite que un token se use solo una vez)
Puede consultar la lista completa de claims registrados en el Registro de claims de JSON Web Token de IANA.

Claims personalizados

Puede definir sus propios claims personalizados, sobre los que tiene control, y agregarlos a un token mediante Actions. A continuación, se muestran algunos ejemplos:
  • Agregue la dirección de correo electrónico de un usuario a un y úsela para identificar al usuario de forma única.
  • Agregue información personalizada almacenada en un perfil de usuario de Auth0 a un .
Siempre que la Action esté configurada, los claims personalizados que agregue aparecerán en los nuevos tokens emitidos al usar un token de actualización. Para ver un ejemplo de cómo agregar claims personalizados a un token, consulte Casos de uso de ejemplo: Scopes y Claims.

Claims públicos

Puede crear claims personalizados para uso público, que pueden contener información genérica, como nombre y correo electrónico. Si crea claims públicos, debe registrarlos o usar nombres resistentes a colisiones mediante espacios de nombres, y tomar precauciones razonables para asegurarse de que controla el espacio de nombres que usa. En el Registro de claims de JSON Web Token de la IANA, puede ver algunos ejemplos de claims públicos registrados por Connect (OIDC):
  • auth_time
  • acr
  • nonce

Claims privadas

Puedes crear claims personalizados privados para compartir información específica de tu aplicación. Por ejemplo, mientras que un claim público podría contener información genérica, como nombre y correo electrónico, los claims privados serían más específicos, como el id del empleado y el nombre del departamento.

Restricciones de Auth0

Auth0 impone las siguientes restricciones generales sobre los claims personalizados:
  • la carga útil de los claims personalizados tiene un máximo de 100 KB
  • no se puede personalizar ni modificar un subconjunto de los claims estándar registrados de OIDC y otros claims que Auth0 usa internamente
  • los tokens de acceso con una audiencia de API de Auth0, excluido el endpoint /userinfo, no pueden incluir claims personalizados privados sin espacio de nombres
  • solo se pueden agregar a los tokens de acceso los claims especificados del perfil de usuario de OIDC
Para obtener más información sobre los claims personalizados, consulte Create Custom Claims.

Más información