urls proyectos ejemplos python django login server

python - proyectos - django views



¿Cómo hacer un servidor de inicio de sesión centralizado con Django? (1)

Donde trabajo actualmente hay muchos proyectos de Django, cada uno corriendo en su propio VPS, y cada uno se está ejecutando bajo su propio subdominio (foo.example.com, bar.example.com, ...) como se muestra en el siguiente diagrama:

Lo que quiero hacer es tener un servidor Django central que administre todo el proceso de inicio de sesión (autorización y autenticación) para cada aplicación, y cuando un usuario foo.example.com sesión en foo.example.com y luego vaya a bar.example.com , su sesión se mantiene activo y no necesita ingresar credenciales nuevamente (usuario / contraseña), lo mismo si el usuario cierra la sesión, no pudo ver nada en los otros proyectos hasta que vuelve a iniciar sesión.

Similar a lo que hace Google cuando gmail.com en gmail.com y vas a youtube.com o blogger.com ( o más parecido a lo que quiero hacer: google.com sesión en google.com y vas a drive.google.com , photos.google.com , calendar.google.com ) o cualquier otro sitio de Google, su sesión se mantiene activa.

¿Hay algún paquete django o cualquier otra forma que me ayude a lograrlo?


Usaría el framework de descanso django e iniciaría sesión con eso. Esto instalará una cookie de sesión, que puede verificar cada vez que el usuario abre una página para la que deben iniciar sesión. Una vez que la cookie expira, o django vence la cookie, el usuario se desconecta y no se le deben mostrar las páginas si sus comprobaciones de autenticación son buenas. Esto significa que si inician sesión en el servidor django en cualquier lugar, permanecen conectados, incluso en su página, al igual que con Facebook o Google. Cuando cierren la sesión del servidor django, en cualquier lugar, también se cerrarán la sesión de sus páginas remotas.

Puede leer más sobre la autenticación de marco de reposo django aquí .