257

Please note: this is an ancient question with ancient answers. Most of the linked apps are now unmaintained. These days, most people seem to use django-allauth or python-social-auth. I'll leave the original question intact below for posterity's sake.


There are at least half a dozen Django apps that provide OpenID authentication for Django:

I played around with a couple of them. Simon Willison's django-openid made a good impression, but as he is at the forefront of trendsetting in Djangoland, I sometimes have difficulties wrapping my head around his trends (e.g. the whole dynamic urlpatterns system in django-openid). What's more, I couldn't get login to work with Google.

django-authopenid made a good impression, and it seems to have good integration with django-registration. django-socialauth and django-socialregistration have support for Twitter and Facebook, which is definitely a plus. Who knows if and when Facebook will start to be an OpenID provider...? socialauth seems to have its share of problems, though.

So, what is the best OpenID app out there? Please share any positive (and negative) experience. Thanks!

Benjamin Wohlwend
  • 30,958
  • 11
  • 90
  • 100
  • 8
    [django-social-auth](https://github.com/omab/django-social-auth#readme) by Matías Aguirre is another one, and it looks pretty active as a project as of today. Apart from OpenId it supports all major providers (FB, Twitter, LinkedIn, etc.), supports user data population and multiple social accounts association to single users. – Peterino Mar 11 '11 at 23:21
  • 1
    **Note:** django-social-auth has been renamed to [python-social-auth](https://github.com/omab/python-social-auth). – Nathan Osman Oct 06 '13 at 23:18

6 Answers6

87

The one that has proven to work best for me, and which seems most up-to-date is the one over at launchpad.

It integrated seamlessly with my application that already utilizes the django.auth module.

https://launchpad.net/django-openid-auth

To get a copy run:

bzr branch lp:django-openid-auth

Or install it via PyPI

pip install django-openid-auth
Daniel
  • 4,918
  • 4
  • 33
  • 34
32

The last post for this thread is in February. It's been almost 8 months and I'm pretty sure a lot of things have been changed.

I am very interested in Django-Socialauth since it supports gmail, yahoo, facebook, twitter, and OpenID.

I found two forks that seem up-to-date:

https://github.com/uswaretech/Django-Socialauth

https://github.com/agiliq/Django-Socialauth

The second fork has been recently updated at this moment.

I was wondering if anyone has recently used any of these forks? I am looking for the most reliable one for my website.

Thanks

Update: The most up-to-date fork appears to be omab/django-social-auth, which is also what the pypi package points at.

mgalgs
  • 15,671
  • 11
  • 61
  • 74
mohi666
  • 6,842
  • 9
  • 45
  • 51
  • 2
    I've got it working using `pip install django-social-auth`, which looks to line up well with this fork: https://github.com/omab/django-social-auth. As a newbie, the most confusing thing was understanding how to align my login/error templates with the socialauth urls and views. The example site in the fork I mentioned helped a lot. – Aidan Ryan Dec 04 '11 at 19:17
  • 1
    `django-social-auth` != `Django-Socialauth`, in fact, the first was created after hours of frustration with `Django-Socialauth`. – omab Sep 27 '12 at 01:13
  • 1
    There is a newer fork at https://github.com/omab/django-social-auth – Wernight Oct 23 '12 at 12:10
  • 2
    django-social-auth is now deprecated in favor of [omab/python-social-auth](https://github.com/omab/python-social-auth) – mgalgs Sep 25 '13 at 07:37
12

I prefer django-authopenid, but I think most of the mature solutions are pretty equal at this point. Still, it is what I see used the most. I've made a handful of customizations to how we use it without having to actually fork it, and that's a huge plus in my book. In other words, its fairly hookable.

ironfroggy
  • 7,991
  • 7
  • 33
  • 44
8

Don't forget Elf Sternberg's fork of django-socialauth - he's working to clean up what he sees as a lot of bad implementation decisions in the original socialauth app. Looks clean so far but it's unclear whether his project will have momentum.

shacker
  • 14,712
  • 8
  • 89
  • 89
5

django-socialauth is good for me

Alex Zharnasek
  • 519
  • 5
  • 9
1

You could try pinax

Kristian Damian
  • 1,360
  • 3
  • 22
  • 43
  • 4
    Isn't that a bit too much? Though if he just needs openid, he can take a look on which one Pinax chose. – Agos Jan 31 '10 at 16:42