Autorizar acceso de sesión desde nueva ubicación o dispositivo
Endpoint: GET /authorize-access/:token
Permite autorizar el acceso de una sesión desde una nueva región o dispositivo mediante un token JWT seguro. Este endpoint es de uso interno y está pensado para ser accedido a través de enlaces enviados al usuario (por ejemplo, por email o notificaciones), no directamente desde el frontend.
📝 Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
token | string | Token JWT con los datos de la sesión a autorizar |
📦 Payload esperado en el token JWT
{
"sessionToken": "string",
"userId": "string",
"newIp": "string",
"userAgent": "string",
"region": "string"
}
🔄 Flujo de autorización
- Se verifica y decodifica el token JWT recibido.
- Se valida que todos los campos requeridos estén presentes.
- Se busca la sesión correspondiente (
userId,sessionToken,newIp,userAgent). - Si no se encuentra la sesión, se devuelve un mensaje de error en HTML.
- Si la sesión existe:
- Se marca la sesión como confiable (
isTrusted = true). - Se actualiza la región y la fecha de último acceso.
- Se guarda la sesión actualizada.
- Se marca la sesión como confiable (
- Se devuelve un mensaje HTML indicando éxito.
📋 Respuestas
✅ 200 OK
<h2 style="color:green;">✅ Acceso autorizado correctamente</h2>
<p>Ahora podés volver a iniciar sesión desde este dispositivo sin reautorización.</p>
❌ 400 Bad Request
<h2 style="color:red;">❌ Token inválido o expirado</h2>
❌ 404 Not Found
<h2 style="color:red;">⚠️ No se encontró la sesión correspondiente.</h2>
📝 Notas
- Este endpoint es solo para uso interno del backend.
- Se utiliza para confirmar que un usuario ha autorizado el acceso desde una nueva ubicación o dispositivo.
- Mejora la experiencia de usuario y la seguridad al evitar bloqueos innecesarios.