What's the best solution for OpenID with Django?

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!

Here is Solutions:

We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.

Solution 1

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

Solution 2

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.

Solution 3

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.

Solution 4

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.

Solution 5

django-socialauth is good for me

Solution 6

You could try pinax

Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply