Я хочу интегрировать свое веб-приложение Django с другими веб-продуктами (скорее всего, сторонними приложениями, отличными от django). Как я могу позволить другим сайтам подписывать своих пользователей на мой сайт с помощью единого входа? Как я могу безопасно хранить имена пользователей и пароли для сторонних сайтов на моем сайте, чтобы подписывать моих пользователей на сайты третьей части?
Как создать безопасный одноранговый Django между разными сайтами?
Ответ 1
Еще несколько идей...
OAuth
OAuth для не-корпоративного приложения. Проекты Django: django-oauth и django-oauth-consumer, Статья: oauth в Django
SAML
Язык разметки безопасности (SAML) больше подходит для корпоративных приложений, поскольку он дает "предприятию" больше контроля над своими собственными пользователями, и какой из этих пользователей может получить доступ к приложению. Этот протокол (был?) В основном управляется Google и друзьями (например, salesforce.com).
Статьи: Служба единого входа SAML для служб Google и Демистификация SAML.
Проекты Python: PySAML и сообщение в блоге
Интеграция Django: SAML с Django (не полное решение... просто отправная точка. Использует PySAML)
Информационные карты
IIRC Информационные карты являются эквивалентом Microsoft, эквивалентным SAML. Проекты Python: Обработка информационных карт Python и Информационные карты для Python. Насколько мне известно, ничего для Django.
- Edit -
Существует также CAS (Руководство пользователя), который может быть интегрирован с django-cas.
И еще два проекта SAML, о которых я забыл: gheimdall2 и python-saml2
Ответ 2
Никогда не использовал его, но есть Django-sso.
Ответ 3
Существуют и другие возможности, но я не буду их переживать, потому что OpenID используется множеством людей и является самым большим в своем роде.