JWT (JSON Web Token)
Un estándar para crear tokens de autenticación que contienen información del usuario codificada y firmada criptográficamente.
Un JWT (JSON Web Token) es un token compacto y autocontenido que se usa para autenticar peticiones en APIs:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFkYSIsImlhdCI6MTUxNjIzOTAyMn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Estructura (tres partes separadas por puntos):
- Header: algoritmo de firma (
{"alg": "HS256", "typ": "JWT"}) - Payload: datos del usuario (
{"sub": "123", "name": "Ada", "role": "admin"}) - Signature: firma criptográfica que verifica que el token no fue alterado
Se envía en el header Authorization: Bearer <token>. El servidor verifica la firma sin consultar la base de datos.
Importante: el payload está codificado en Base64, NO cifrado. Cualquiera puede leerlo. Nunca guardes datos sensibles en el payload.