What's the best solution for OpenID with Django?

PythonDjangoOpenid

Python Problem Overview


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!

Python Solutions


Solution 1 - Python

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 - Python

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 - Python

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 - Python

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 - Python

django-socialauth is good for me

Solution 6 - Python

You could try pinax

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionBenjamin WohlwendView Question on Stackoverflow
Solution 1 - PythonDanielView Answer on Stackoverflow
Solution 2 - Pythonmohi666View Answer on Stackoverflow
Solution 3 - PythonironfroggyView Answer on Stackoverflow
Solution 4 - PythonshackerView Answer on Stackoverflow
Solution 5 - PythonAlex ZharnasekView Answer on Stackoverflow
Solution 6 - PythonKristian DamianView Answer on Stackoverflow