views:

794

answers:

3

I want to integrate my Django web application with other web based products (most likely 3rd party non-django applications.) How can I let other sites sign in their users to my site with a single sign-on? How would I store the usernames and passwords for the 3rd party sites users securely on my site to sign on my users to the 3rd part sites?

+2  A: 

Never used it, but there is Django-sso.

celopes
+3  A: 

http://openid.net/

There are other possibilities, but I wouldn't sweat over them because OpenID is used by lots of people and is the largest one of its kind.

orokusaki
+4  A: 

Some more ideas...

OAuth

OAuth for non-enterprise app. Django projects: django-oauth and django-oauth-consumer. Article: oauth in Django

SAML

Security Assertion Markup Language (SAML) is more for enterprise apps because it gives the "enterprise" more control over their own users and which of those users can access the app. This protocol is (was?) mostly driven by Google and friends (e.g. salesforce.com).

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

Python projects: PySAML and blog post

Django integration: SAML with Django (not a complete solution... just a starting point. Uses PySAML)

Information Cards

IIRC Information Cards are the Microsoft universe equivalent to SAML. Python projects: Python Information Card Processing and Information Cards for Python. Nothing for Django as far as I know.

--Edit--

There is also CAS (User Manual) which can be integrated with django-cas.

And two more SAML projects I had forgotten about: gheimdall2 and python-saml2

Van Gale