Skip to main content

Revocar sesión PIN actual

Endpoint: POST /auth/pin/session/revoke


Permite revocar manualmente la sesión PIN aprobada actual del usuario autenticado. Esto requiere una nueva verificación PIN para futuras operaciones sensibles.


🔐 Requiere autenticación JWT

Debes enviar un token JWT válido en el header:

Authorization: Bearer <accessToken>

📝 Cuerpo de la solicitud

No requiere body.


📋 Respuestas

✅ 200 OK

  • Sesión revocada correctamente

    {
    "code": 1001,
    "message": "PIN session revoked successfully",
    "data": {
    "sessionRevoked": true,
    "revokedAt": "2025-01-20T14:50:00.000Z"
    }
    }
  • No había sesión activa para revocar

    {
    "code": 1001,
    "message": "No active PIN session to revoke",
    "data": {
    "sessionRevoked": false,
    "revokedAt": null
    }
    }

❌ 401 Unauthorized

  • Sin token válido

    {
    "statusCode": 401,
    "message": "Unauthorized"
    }

🔄 Efectos de la revocación

Inmediatos

  • La sesión PIN aprobada se invalida instantáneamente
  • Los endpoints protegidos requerirán nueva verificación PIN
  • Se actualiza el estado de sesión en Redis

Futuros

  • Cualquier intento de acceso a operaciones sensibles requerirá /auth/pin/verify
  • El usuario mantendrá su configuración PIN intacta
  • Solo se afecta la sesión actual, no otras sesiones en otros dispositivos

📝 Casos de uso

Seguridad proactiva

  • Cerrar sesión PIN cuando el usuario termine operaciones sensibles
  • Limitar el tiempo de exposición de permisos elevados
  • Implementar logout selectivo de funciones PIN

Gestión de dispositivos

  • Revocar acceso PIN en dispositivos específicos
  • Control granular de sesiones por dispositivo
  • Limpieza de sesiones al cambiar de contexto

Debugging y testing

  • Limpiar estado de sesión para pruebas
  • Verificar comportamiento de endpoints protegidos
  • Simular escenarios de expiración

📝 Notas

  • Este endpoint siempre responde exitosamente, incluso si no hay sesión activa
  • No afecta la configuración PIN del usuario, solo la sesión actual
  • La revocación es inmediata y no reversible
  • Útil para implementar "logout parcial" de funciones sensibles

🔗 Endpoints relacionados


⚡ Recomendaciones de uso

  • Llamar este endpoint al terminar operaciones sensibles
  • Implementar en funciones de "cerrar sesión parcial"
  • Usar en flows de seguridad donde se requiera re-autenticación
  • Combinar con timers de inactividad para mayor seguridad

Nota: Después de revocar la sesión, será necesario usar /auth/pin/verify nuevamente para acceder a operaciones que requieren PIN.