Saltar a contenido

Renovar token

El token JWT expira en 1 hora. Antes de que expire, puede renovarlo sin necesidad de enviar la API Key otra vez.


Endpoint

POST /apientidades/v1/auth/refresh
Authorization: Bearer <token_actual>

Sin body. Solo necesita el token actual en la cabecera.


Respuesta exitosa (200)

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "expiresAt": "2026-03-26T16:30:00Z",
  "entityId": 1001,
  "entityName": "AYUNTAMIENTO DE EJEMPLO"
}

Misma estructura que el login. El nuevo token tiene 1 hora de validez desde el momento de la renovación.


Ejemplo

NEW_TOKEN=$(curl -s -X POST \
  https://apientidades-pro.transparenciacanarias.org/apientidades/v1/auth/refresh \
  -H "Authorization: Bearer $TOKEN" | jq -r '.token')

echo "Nuevo token: $NEW_TOKEN"
resp = requests.post(f"{API_URL}/auth/refresh",
    headers={"Authorization": f"Bearer {token}"})
nuevo_token = resp.json()["token"]

Comportamiento importante

Validación de IP en el refresh

Si la entidad tiene IPs autorizadas configuradas, la IP también se valida en el refresh. Esto significa que un token robado no puede renovarse desde una IP no autorizada.

Token expirado

Si el token ya expiró, el refresh devuelve 401. Debe obtener un token nuevo con POST /auth usando la API Key.


Estrategia recomendada

flowchart TD
    A[Inicio] --> B[POST /auth]
    B --> C[Guardar token + expiresAt]
    C --> D{¿Quedan > 5 min?}
    D -->|Sí| E[Hacer peticiones]
    E --> D
    D -->|No| F[POST /auth/refresh]
    F --> C

Renueve el token cuando queden menos de 5 minutos para su expiración. No espere a que expire.