Autorizar acceso de sesión desde nueva ubicación o dispositivo
Endpoint interno para autorizar el acceso de una sesión desde una nueva región o dispositivo, utilizado a través de enlaces enviados al usuario (email, notificaciones, etc.).
🔐 Autorización de acceso
Este endpoint permite al usuario confirmar que un intento de acceso desde una
nueva ubicación o dispositivo es legítimo.
Se accede mediante un link seguro, no directamente desde el frontend.
/authorize-access/:tokenAutoriza una sesión desde una nueva región o dispositivo usando un token JWT
📋 Parámetros
tokenstringrequeridoToken JWT con los datos de la sesión a autorizar
📤 Respuesta
<h2 style="color:green;">✅ Acceso autorizado correctamente</h2>
<p>Ahora podés volver a iniciar sesión desde este dispositivo sin reautorización.</p>Uso interno
Endpoint interno
Este endpoint está pensado exclusivamente para uso interno del backend.
Normalmente se accede a través de un enlace enviado por email o notificación
cuando se detecta un acceso desde una nueva ubicación o dispositivo.
Payload esperado en el token JWT
Contenido del token
El token JWT debe contener los siguientes campos:
{
"sessionToken": "string",
"userId": "string",
"newIp": "string",
"userAgent": "string",
"region": "string"
}
Flujo de autorización
Flujo interno
-
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 una respuesta HTML indicando el resultado
Respuestas
Acceso autorizado
Acceso autorizado
<h2 style="color:green;">✅ Acceso autorizado correctamente</h2>
<p>Ahora podés volver a iniciar sesión desde este dispositivo sin reautorización.</p>
Token inválido o expirado
Token inválido
<h2 style="color:red;">❌ Token inválido o expirado</h2>
Sesión no encontrada
Sesión no encontrada
<h2 style="color:red;">⚠️ No se encontró la sesión correspondiente.</h2>
Notas de seguridad
Consideraciones de seguridad
- El token JWT tiene expiración limitada
- El enlace debe ser de uso único
- Previene bloqueos innecesarios manteniendo alto nivel de seguridad
- Ideal para flujos de nueva ubicación / nuevo dispositivo
Enlaces relacionados
- Listar dispositivos - GET /users/devices
- Desvincular dispositivo - DELETE /users/devices/:id
- Seguridad de la cuenta