2009-12-20 70 views
12

我想将我的Django Web应用程序与其他基于Web的产品(很可能是第三方非Django应用程序)集成在一起。我怎样才能让其他站点通过单点登录将其用户登录到我的网站?我如何将第三方网站用户的用户名和密码存储在我的网站上,以便将我的用户登录到第三方网站?如何在不同的站点之间构建安全的Django单点登录?

回答

11

一些更多的想法...

的OAuth

OAuth非企业应用程序。 Django项目:django-oauthdjango-oauth-consumer。文章:oauth in Django

SAML

安全断言标记语言(SAML)则多为企业应用程序,因为它给出了“企业”更好地控制自己的用户,并且这些用户可以访问应用程序。该协议(是?)主要由Google和朋友(例如salesforce.com)推动。

Articles:SAML Single Sign-On (SSO) Service for Google Apps and Demystifying SAML

Python项目:PySAMLblog post

Django的集成:SAML with Django(不是一个完整的解决方案......只是一个起点用途PySAML)

信息卡

IIRC Information Cards是微软的宇宙等同于SAML。 Python项目:Python Information Card ProcessingInformation Cards for Python。 据我所知Django什么都没有。

- 编辑 -

还有CASUser Manual),其可与django-cas集成。

和两个我已经忘记了多个SAML项目:gheimdall2python-saml2

+0

FYI您链接到两篇文章在这个答案(一个code.google.com上,另一个在oracle.com)都是死链接现在。我找到了Oracle的新URL并修复了它。 – 2013-11-01 15:20:55

+0

我相信我发现的必须是破损的code.google.com链接指出的文章,并修复了该文章。 – rory 2014-01-08 19:35:22

3

http://openid.net/

还有其他的可能性,但因为OpenID是使用大量的人,是同类产品中最大的一个,我不会对他们的汗水。