Ответ 1
Ознакомьтесь с django-cas-provider + django-cas-consumer (или django-cas)
Я хотел бы использовать Django для реализации Single Sign On (SSO) для нескольких приложений, которые мы в настоящее время используем. Как реализовать SSO с помощью Django?. Существуют ли какие-либо пакеты Django, которые могут быть использованы для реализации SSO?
Пожалуйста, помогите Благодарю вас.
Ознакомьтесь с django-cas-provider + django-cas-consumer (или django-cas)
Мы используем OpenAM. http://forgerock.com/openam.html
Файл cookie OpenAM означает, что пользователь аутентифицирован.
Бэкенд аутентификации для этого довольно прост. До 50 строк кода.
https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#other-authentication-sources
Мы написали небольшой код, который отправляет RESTful-запрос серверу OpenAM для получения информации о пользователе, группе и роли. Затем мы используем роли для определения полномочий пользователя.
MamaCAS представляется хорошим решением. (Он набрал 104 звезды на момент написания.)
https://github.com/jbittel/django-mama-cas
MamaCAS является сервером единой регистрации и одиночным сервером регистрации Django Central Authentication Service (CAS). Он реализует протоколы CAS 1.0, 2.0 и 3.0, включая некоторые дополнительные функции.
CAS - это единый веб-протокол регистрации и единого выхода, который позволяет пользователю получать доступ к нескольким приложениям после предоставления их учетных данных за один раз. В нем используются билеты на безопасность, уникальные текстовые строки, созданные и проверенные сервером, что позволяет приложениям аутентифицировать пользователя без прямого доступа к учетным данным пользователя (обычно это идентификатор пользователя и пароль).
django-sso - довольно удобный пакет, который реализует единый вход
Django Simple SSO - еще один.
https://github.com/aldryn/django-simple-sso
статья о том, как использовать этот репо статья
Вы можете реализовать SSO следующим образом:
Я только что закончил писать подробное руководство в своем блоге: http://codeinpython.blogspot.com/2015/11/how-to-setup-shibboleth-identity.html
В коммерческом мире вы можете использовать Stormpath (https://stormpath.com) и его плагин Django (https://github.com/stormpath/stormpath-django). Отказ от ответственности: я там работаю.
Как это работает, честно говоря довольно круто:
Что об этом.
Там OpenID и openid-auth.
Я использовал https://github.com/onelogin/python3-saml с Azure AD и Google - довольно простая установка с отличными документами и поддержкой.