views:

19

answers:

1

I want to create an application that allows a user to register and login to a django application with an external provider. In addition, I then want the user to be able to associate additional accounts with that initial account. Finally, I would like the user to be able to login to the application with one of the other associated accounts.

So if a user initially signs in with Facebook Connect, I want them to be able to link their Google account. Then, if they log out, they can log in with their Google account (via openid) and it logs the user in as though they logged in via Facebook Connect.

Does anything like this exist already? Or do I need to write it myself?

A: 

The perfect solution for you seems to be Django-SocialAuth. See here. From the page:

Here is an app to allow logging in via twitter, facebook, openid, yahoo, google, which should work transparently with Django authentication system. (@login_required, User and other infrastructure work as expected.) Demo and Code

Edit: I'm pretty sure that SO uses django-SocialAuth for it's login system, looking at the project's demo page.

Blue Peppers