Saltar al contenido principal

Token de ID personalizado

Introducción

Token de ID (ID token) es un tipo especial de token definido por el protocolo OpenID Connect (OIDC). Sirve como una afirmación de identidad emitida por el servidor de autorización (Logto) después de que un usuario se autentica con éxito, transportando reclamos sobre la identidad del usuario autenticado.

A diferencia de los tokens de acceso (Access tokens) que se utilizan para acceder a recursos protegidos, los tokens de ID están diseñados específicamente para transmitir la identidad del usuario autenticado a las aplicaciones cliente. Son JSON Web Tokens (JWTs) que contienen reclamos sobre el evento de autenticación y el usuario autenticado.

Cómo funcionan los reclamos del token de ID

En Logto, los reclamos del token de ID se dividen en dos categorías:

  1. Reclamos OIDC estándar: Definidos por la especificación OIDC, estos reclamos están completamente determinados por los alcances solicitados durante la autenticación.
  2. Reclamos extendidos: Reclamos extendidos por Logto para transportar información de identidad adicional, controlados por un modelo de doble condición (Alcance + Interruptor).

Reclamos OIDC estándar

Los reclamos estándar están completamente gobernados por la especificación OIDC. Su inclusión en el token de ID depende únicamente de los alcances que tu aplicación solicite durante la autenticación. Logto no proporciona ninguna opción para deshabilitar o excluir selectivamente reclamos estándar individuales.

La siguiente tabla muestra la relación entre los alcances estándar y sus reclamos correspondientes:

AlcanceReclamos
openidsub
profilename, family_name, given_name, middle_name, nickname, preferred_username, profile, picture, website, gender, birthdate, zoneinfo, locale, updated_at
emailemail, email_verified
phonephone_number, phone_number_verified
addressaddress

Por ejemplo, si tu aplicación solicita los alcances openid profile email, el token de ID incluirá todos los reclamos de los alcances openid, profile y email.

Reclamos extendidos

Más allá de los reclamos OIDC estándar, Logto extiende reclamos adicionales que transportan información de identidad específica del ecosistema Logto. Estos reclamos extendidos siguen un modelo de doble condición para ser incluidos en el token de ID:

  1. Condición de alcance: La aplicación debe solicitar el alcance correspondiente durante la autenticación.
  2. Interruptor en la consola: El administrador debe habilitar la inclusión del reclamo en el token de ID a través de Logto Console.

Ambas condiciones deben cumplirse simultáneamente. El alcance sirve como declaración de acceso a nivel de protocolo, mientras que el interruptor sirve como control de exposición a nivel de producto: sus responsabilidades son claras y no sustituibles.

Alcances y reclamos extendidos disponibles

AlcanceReclamosDescripciónIncluido por defecto
custom_datacustom_dataDatos personalizados almacenados en el usuario
identitiesidentities, sso_identitiesIdentidades sociales y SSO vinculadas del usuario
rolesrolesRoles asignados al usuario
urn:logto:scope:organizationsorganizationsIDs de las organizaciones del usuario
urn:logto:scope:organizationsorganization_dataDatos de la organización del usuario
urn:logto:scope:organization_rolesorganization_rolesAsignaciones de roles de la organización del usuario

Configuración en Logto Console

Para habilitar reclamos extendidos en el token de ID:

  1. Navega a Consola > JWT personalizado.
  2. Activa los reclamos que deseas incluir en el token de ID.
  3. Asegúrate de que tu aplicación solicite los alcances correspondientes durante la autenticación.
Token de acceso personalizado

OpenID Connect Core - Token de ID