Saltar al contenido principal

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.

GET/authorize-access/:token

Autoriza una sesión desde una nueva región o dispositivo usando un token JWT

📋 Parámetros

tokenstringrequerido

Token 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

  1. Se verifica y decodifica el token JWT recibido

  2. Se valida que todos los campos requeridos estén presentes

  3. Se busca la sesión correspondiente (userId, sessionToken, newIp, userAgent)

  4. Si no se encuentra la sesión, se devuelve un mensaje de error en HTML

  5. 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
  6. 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