Estructura y firma del ID Token
Descomponga la cabecera, el payload y la firma del ID Token (JWT), y comprenda cómo se firma y qué información contiene.
Estructura y firma del ID Token es una lección gratuita de OAuth2 & OpenID Connect Deep Dive en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de OAuth2 & OpenID Connect Deep Dive, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de OAuth2 & OpenID Connect Deep Dive incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Meet the ID Token
In OpenID Connect (OIDC), the ID Token is a crucial piece of information. It's a security token that contains claims about the authentication of an end-user by an Authorization Server.
Think of it as a digital ID card for the user, issued after they successfully log in.
ID Tokens Are JWTs
ID Tokens are always formatted as JSON Web Tokens (JWTs). A JWT is a compact, URL-safe means of representing claims to be transferred between two parties.
Every JWT has three main parts, separated by dots:
- Header
- Payload
- Signature
The Header: What Algorithm?
The first part of an ID Token is the Header. It's a JSON object that describes the token itself, like what type of token it is and the algorithm used to sign it.
alg: The cryptographic algorithm used for signing (e.g., RS256, HS256).typ: The type of token, which is usually"JWT".
Header in Action
When you decode the base64url-encoded header, you'll see a JSON object like this. This tells you how the token was secured.
{
"alg": "RS256",
"typ": "JWT",
"kid": "someKeyId"
}The kid (Key ID) helps find the correct public key for verification.
Decoding Header Example
The header is base64url encoded. Here's how you might decode a JWT header string in Java. This helps reveal its content.
import java.util.Base64;
import java.nio.charset.StandardCharsets;
public class JwtDecoder {
public static void main(String[] args) {
String encodedHeader = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InNvbWVLZXlJZCJ9";
byte[] decodedBytes = Base64.getUrlDecoder().decode(encodedHeader);
String decodedString = new String(decodedBytes, StandardCharsets.UTF_8);
System.out.println("Decoded Header:");
System.out.println(decodedString);
}
}The Payload: Claims About You
The second part is the Payload. This is where the actual "claims" about the user and the authentication event are stored. Claims are statements about an entity (typically the user).
Standard claims you'll often see include:
iss: Issuer (who issued the token).sub: Subject (unique identifier for the user).aud: Audience (who the token is for).exp: Expiration Time (when the token expires).iat: Issued At Time (when the token was issued).
Payload in Action
Similar to the header, the payload is also a base64url-encoded JSON object. It contains the identity information you need.
{
"iss": "https://example.com/auth",
"sub": "user123",
"aud": "myAppClientId",
"exp": 1678886400,
"iat": 1678882800,
"name": "Alice Wonderland"
}exp and iat are Unix timestamps.
The Signature: Ensuring Trust
The third and final part is the Signature. This is critical for security! It's used to verify that the token hasn't been tampered with and that it comes from a legitimate issuer.
The signature is created by taking the encoded header, the encoded payload, and a secret key or private key, and running them through the cryptographic algorithm specified in the header.
Verifying the Signature
When your application receives an ID Token, it uses the public key (provided by the Issuer) to verify the signature. It re-computes the signature using the header, payload, and the public key.
If the re-computed signature matches the token's signature, you can trust that:
- The token hasn't been altered.
- It was issued by the expected Authorization Server.
Quick Check on JWT
You've learned that ID Tokens are structured as JWTs, with three distinct parts. Each part plays a vital role in conveying and securing user identity information.
Recap: ID Token Anatomy
Great job! You now understand the fundamental structure of an ID Token.
- Header: Describes the token and signing algorithm.
- Payload: Contains identity claims about the user.
- Signature: Ensures the token's integrity and authenticity.
Each part is base64url encoded and separated by dots, forming a secure and verifiable digital identity for the user.
Aprende OAuth2 & OpenID Connect Deep Dive con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 12
- Lecciones
- 48
Preguntas frecuentes
¿La lección «Estructura y firma del ID Token» es gratis?
Sí — el texto completo de «Estructura y firma del ID Token» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de OAuth2 & OpenID Connect Deep Dive, actualiza a CoddyKit PRO. El curso de OAuth2 & OpenID Connect Deep Dive incluye 4 lecciones en total.
¿Qué aprenderé en «Estructura y firma del ID Token»?
Descomponga la cabecera, el payload y la firma del ID Token (JWT), y comprenda cómo se firma y qué información contiene. Practicas OAuth2 & OpenID Connect Deep Dive con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar OAuth2 & OpenID Connect Deep Dive?
No se requiere experiencia previa. OAuth2 & OpenID Connect Deep Dive en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Estructura y firma del ID Token»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de OAuth2 & OpenID Connect Deep Dive?
Sí. Cada lección de OAuth2 & OpenID Connect Deep Dive incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Estructura y firma del ID Token
- JWS y conjuntos de JWK
- Revocación e introspección de tokens
- Validación de claims estándar de tokens de ID