Cómo implementar el enlace mágico inicie sesión con oAuth2

0

Tenemos dos aplicaciones web. Uno está desarrollado en Django, llamémoslo portal (proveedor oAuth2). Otro está desarrollado en PHP, llamémoslo cliente.

Queremos mostrar un enlace para usuarios autenticados en el sitio web del portal, de modo que al hacer clic en el enlace, el usuario inicie sesión automáticamente en el sitio web del cliente. No se solicita contraseña, el sitio web del cliente debe abrirse y el usuario ya debe haber iniciado sesión en el sitio web del cliente.

¿Es posible implementar dicho enlace mágico utilizando oAuth2 o tenemos que crear nuestra propia solución?

    
pregunta Eugene Morozov 20.11.2018 - 11:09
fuente

1 respuesta

1

Sí, podría usar OAuth2 para este szenario, sin embargo, creo que OAuth2 es una sobrecarga demasiado grande para este caso de uso en particular.

Lo que básicamente quieres es un JWT (Json Web Token). Después de autenticarse en el portal, crea un token JWT. Este token contiene información sobre el usuario, tal vez su nombre de usuario / correo y sus permisos. Además, este token se firma con la parte privada de un par de llaves asimétrico, solo el portal conoce esta clave privada. Al acceder a la aplicación cliente, pasa el token como un encabezado http (probablemente el encabezado de autorización) con la solicitud. Su aplicación cliente conoce la parte pública del par de llaves asimétricas para que pueda verificar el token. Cuando el token se verifica y no caduca, el usuario se autentica en su aplicación cliente. Aquí también puede comprobar algunos permisos que se incluyen en el token.

Puede leer sobre JWT aquí: enlace

    
respondido por el Alex 20.11.2018 - 13:23
fuente

Lea otras preguntas en las etiquetas