Подтвердить что ты не робот

Внедрение единого входа (SSO) с использованием Django

Я хотел бы использовать Django для реализации Single Sign On (SSO) для нескольких приложений, которые мы в настоящее время используем. Как реализовать SSO с помощью Django?. Существуют ли какие-либо пакеты Django, которые могут быть использованы для реализации SSO?

Пожалуйста, помогите Благодарю вас.

4b9b3361

Ответ 2

Мы используем OpenAM. http://forgerock.com/openam.html

Файл cookie OpenAM означает, что пользователь аутентифицирован.

Бэкенд аутентификации для этого довольно прост. До 50 строк кода.

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

Мы написали небольшой код, который отправляет RESTful-запрос серверу OpenAM для получения информации о пользователе, группе и роли. Затем мы используем роли для определения полномочий пользователя.

Ответ 3

MamaCAS представляется хорошим решением. (Он набрал 104 звезды на момент написания.)

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

MamaCAS является сервером единой регистрации и одиночным сервером регистрации Django Central Authentication Service (CAS). Он реализует протоколы CAS 1.0, 2.0 и 3.0, включая некоторые дополнительные функции.

CAS - это единый веб-протокол регистрации и единого выхода, который позволяет пользователю получать доступ к нескольким приложениям после предоставления их учетных данных за один раз. В нем используются билеты на безопасность, уникальные текстовые строки, созданные и проверенные сервером, что позволяет приложениям аутентифицировать пользователя без прямого доступа к учетным данным пользователя (обычно это идентификатор пользователя и пароль).

Ответ 4

django-sso - довольно удобный пакет, который реализует единый вход

Ответ 6

Вы можете реализовать SSO следующим образом:

  • Шибболет как поставщик удостоверений
  • Сайт Django как поставщик услуг

Я только что закончил писать подробное руководство в своем блоге: http://codeinpython.blogspot.com/2015/11/how-to-setup-shibboleth-identity.html

Ответ 7

В коммерческом мире вы можете использовать Stormpath (https://stormpath.com) и его плагин Django (https://github.com/stormpath/stormpath-django). Отказ от ответственности: я там работаю.

Как это работает, честно говоря довольно круто:

  • Вы устанавливаете плагин Django, изменяя некоторые параметры settings.py.
  • Когда пользователь входит в систему, они перенаправляются на login.yourdomain.com, который является статическим сайтом, который имеет хосты stormpath с формой входа, регистрационной формой, социальным логином, забыли пароль и т.д.
  • Вы настраиваете статический сайт так, как хотите, перетаскивая его в репозиторий github.
  • Библиотеки автоматически регистрируют пользователей и позволяют вам регистрировать их на любых субдоменах/проектах.

Что об этом.

Ответ 9

Я использовал https://github.com/onelogin/python3-saml с Azure AD и Google - довольно простая установка с отличными документами и поддержкой.