Skip to content

ID Token

El ID Token es un token de seguridad que contiene Claims sobre la autenticación. Es un JWT (JSON Web Token) que puede ser decodificado y validado.

Estructura del JWT

El ID Token está compuesto por tres partes separadas por puntos:

header.payload.signature
  • header: Metadatos sobre el token
  • payload: Las claims (información) del token
  • signature: Firma para validación

Claims Estándar

Las Claims estándar son:

sub

Abreviatura de Subject Identifier. Identificador único del usuario en el sistema.

json
"sub": "000001"

exp

Momento de expiración en que el ID Token deberá no ser más aceptado como válido. Su valor es del tipo JSON number que representa el número de segundos desde 1970-01-01T0:0:0Z.

json
"exp": 1697234567

iat

Momento en que el JWT fue emitido. Su valor es del tipo JSON number que representa el número de segundos desde 1970-01-01T0:0:0Z.

json
"iat": 1697230967

iss

Abreviatura de Issuer. Representa la entidad emisora del JWT.

json
"iss": "fanbase"

aud

Audiencia para la cual el ID Token está destinado. Su propio client_id debe estar presente.

json
"aud": "exampleclient"

profile

Objeto que contiene la información del usuario autenticado. Sus campos necesitan ser definidos conforme necesidad de cada sistema.

json
"profile": {
  "name": "Juan Silva",
  "email": "juan@ejemplo.com"
}

Decodificación del JWT

El payload del JWT está codificado en Base64URL. Puede decodificarlo para visualizar las claims:

javascript
function decodificarJWT(token) {
  const partes = token.split('.');
  const payload = JSON.parse(atob(partes[1].replace(/-/g, '+').replace(/_/g, '/')));
  return payload;
}

const idToken = 'qbcd.1234.xyz';
const claims = decodificarJWT(idToken);
console.log(claims);

Validación

Antes de utilizar el ID Token, debe validarlo conforme descrito en Validación del ID Token.

Documentación de la API Fanbase