views:

64

answers:

2

Hi all, I am considering a 3rd part Authentication system for logging in (new/old) users. Much like how StackOverflow authenticates it's users. This scheme is good as it frees me from doing authentication from my side. I need this -

  1. Login using Google, Facebook, Twitter, Yahoo, OpenID Authentication Systems.
  2. Provide the same user logged in functionality as the default django auth system i.e. @login_required decorators should work

There seem to be some number of Django-apps out there which claim to solve this problem. Which ones are good? Ex. Django-SocialAuth, django-openid-auth

A: 

those are actually auth backends.

In other words, you're still using django.contrib.auth - you're just loading an extension to it.

Auth backends are pretty easy to write, so I would just take a look at the docs and then see if the code looks like something you'd be comfortable working on (for each candidate for a backend).

If you're afraid to change your codebase, you're in trouble.

Jiaaro
+2  A: 

For an all-in-one solution, I had good results with django-socialregistration. It has auth backends for Twitter, Facebook and OpenID (Google, Yahoo!, ...).

Another possibility would be JanRain Engage (formerly RPX) which provides a single point of authentication for all the major authentication providers. There's a 3rd party django app for it, but I can't say anything about its quality.

piquadrat