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
/auth/pin/verify- Crear nueva sesión aprobada después de revocar/auth/pin/session/status- Verificar estado antes/después de revocar/auth/pin/session/revoke-all- Revocar todas las sesiones del usuario
⚡ 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/verifynuevamente para acceder a operaciones que requieren PIN.