Реализация единого входа (SSO) с использованием Django - PullRequest
52 голосов
/ 11 января 2011

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

Пожалуйста, помогите Спасибо

Ответы [ 8 ]

13 голосов
/ 12 января 2011
11 голосов
/ 11 апреля 2016

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

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

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

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

11 голосов
/ 12 января 2011

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

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

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

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

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

6 голосов
/ 25 сентября 2012

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

5 голосов
/ 14 сентября 2016

Django Simple SSO - еще один.

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

статья о том, как использовать это репо статья

3 голосов
/ 06 ноября 2015

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

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

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

0 голосов
/ 13 марта 2019

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

0 голосов
/ 11 января 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...