Python 单点登录多个django站点

Python 单点登录多个django站点,python,django,single-sign-on,django-sites,Python,Django,Single Sign On,Django Sites,我在django开发中工作,在单个django代码库下有3个站点(siteA、siteB、siteC),每个站点都有自己的域和数据库。因为有独立的数据库,每个站点都有独立的用户。 我的问题是:是否有可能为这3个站点创建一个单一登录?? 如果用户在站点a和站点B中注册,但未在站点C中注册,在这种情况下,如果用户登录站点a将自动登录站点B(因为它同时在这两个站点中注册),但不会登录站点C。(如stackexchange.com) 感谢您的建议和帮助 谢谢大家! 最终的解决方案是:OAuth 但是


我在django开发中工作,在单个django代码库下有3个站点(siteA、siteB、siteC),每个站点都有自己的域和数据库。因为有独立的数据库,每个站点都有独立的用户。

我的问题是:是否有可能为这3个站点创建一个单一登录?? 如果用户在站点a站点B中注册,但未在站点C中注册,在这种情况下,如果用户登录站点a将自动登录站点B(因为它同时在这两个站点中注册),但不会登录站点C。(如stackexchange.com)

感谢您的建议和帮助

谢谢大家!

最终的解决方案是:OAuth

但是,如果您喜欢走捷径,同时将OAuth集成到所有这些Django站点中,您可以:

地点A:肯,约翰

地点B:佐治亚州肯

地点C:约翰

我们有两个站点,主站点使用站点B中的一些资源,但它必须是站点B上的用户。但是这两个站点不同步用户。因为OAuth是一个痛苦的集成,我们正在这样做:

1. Ken login through Site A.
2. As soon as he hits "login", he's redirected to login to Site B and C through iframe login (submit the auth login requests through HTTPS).

3. The iframe login will return cookies of the site trying to login
     - site B
     - site C
4. Since Ken is not a user of Site C, there is no cookies return from Site C.
5. After two iframe logins, you are back to Site A and at this moment, as authenticated user of Site A, ken has at most two cookies:
    - site A
    - site B
这是一条捷径,但非常不安全。当我说iframe登录时,我并不是说您将看到带有登录表单的iframe。请求通过请求发送


这是不安全的,因为用户必须使用相同的加密密码,并且传递cookies非常容易受到攻击。

非常感谢您的回复!