Autenticacion JWT¶
Configuracion¶
| Propiedad | Descripcion | Default |
|---|---|---|
application.security.jwt.secret-key | Clave secreta (Base64, 64 chars) | - |
application.security.jwt.expiration | Expiracion access token (ms) | 86400000 (24h) |
application.security.jwt.refresh-token.expiration | Expiracion refresh token (ms) | 604800000 (7d) |
Estructura del Token¶
{
"id": 1,
"name": "Nombre del Usuario",
"sub": "usuario@ejemplo.com",
"iat": 1234567890,
"exp": 1234654290
}
Uso del Token¶
Header de Autorizacion¶
Todos los endpoints protegidos requieren:
Endpoints Publicos¶
| Metodo | Ruta |
|---|---|
| POST | /auth/registrar |
| POST | /auth/acceder |
| POST | /auth/refrescar |
Endpoints Protegidos¶
Todos los demas requieren JWT valido:
/api/v2/users/api/v2/grupo-proceso-firma/**/api/v2/ssigner/**/api/v2/documento/**
Flujo de Autenticacion¶
sequenceDiagram
participant U as Usuario
participant A as API
U->>A: POST /auth/registrar
A-->>U: {jwtToken, refreshToken}
U->>A: POST /auth/acceder
A-->>U: {jwtToken, refreshToken}
Note over U: Usar jwtToken en header
U->>A: GET /api/v2/...
A-->>U: Response
Note over U: Cuando expira jwtToken
U->>A: POST /auth/refrescar
A-->>U: {nuevo jwtToken, refreshToken}
U->>A: POST /auth/logout
A-->>U: Token invalidado
Invalidaacion de Tokens¶
Los tokens se almacenan en la tabla tokens de la base de datos. Un token es invalido si:
revoked = trueexpired = true- No existe en la base de datos