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?
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.
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