Implementando el inicio de sesión único (SSO) usando Django

Me gustaría usar Django para implementar el inicio de sesión único (SSO) para varias aplicaciones que usamos actualmente. ¿Cómo implementar SSO usando Django? ¿Hay algún paquete de Django que pueda utilizarse para implementar SSO?

Por favor ayuda gracias

Eche un vistazo a django-cas-provider + django-cas-consumer (o django-cas )

Estamos utilizando OpenAM. http://forgerock.com/openam.html

La cookie de OpenAM significa que el usuario está autenticado.

Un backend de autenticación para esto es bastante simple. Bajo 50 lineas de codigo.

https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#other-authentication-sources

Escribimos un poco de código que realiza una solicitud REST completa al servidor de OpenAM para obtener la información de usuario, grupo y rol. Luego usamos los roles para determinar las autorizaciones del usuario.

MamaCAS parece ser una buena solución. (Ha ganado 104 estrellas en el momento de escribir.)

https://github.com/jbittel/django-mama-cas

MamaCAS es un servidor de inicio de sesión único y de cierre de sesión único del Servicio de autenticación de Django (CAS). Implementa los protocolos CAS 1.0, 2.0 y 3.0, incluidas algunas de las características opcionales.

CAS es un protocolo web de inicio de sesión único y cierre de sesión único que permite a un usuario acceder a múltiples aplicaciones después de proporcionar sus credenciales una sola vez. Utiliza tickets de seguridad, cadenas de texto únicas generadas y validadas por el servidor, lo que permite a las aplicaciones autenticar a un usuario sin acceso directo a las credenciales del usuario (generalmente, una ID de usuario y una contraseña).

django-sso es un paquete bastante bueno que implementa un inicio de sesión único

Django Simple SSO es otro.

https://github.com/aldryn/django-simple-sso

Artículo sobre cómo usar este repo un artículo

Puede implementar SSO de la siguiente manera:

  • Shibboleth como proveedor de identidad
  • Sitio web de Django como proveedor de servicios

Acabo de terminar de escribir una guía detallada en mi blog: http://codeinpython.blogspot.com/2015/11/how-to-setup-shibboleth-identity.html

Hay OpenID y openid-auth .

He utilizado https://github.com/onelogin/python3-saml con Azure AD y Google. Configuración bastante simple con gran documentación y apoyo.