title: What's the best solution for OpenID with Django?
body: <p><strong>Please note</strong>: this is an ancient question with ancient answers. Most of the linked apps are now unmaintained. These days, most people seem to use <a href="https://github.com/pennersr/django-allauth" rel="noreferrer">django-allauth</a> or <a href="https://github.com/omab/python-social-auth" rel="noreferrer">python-social-auth</a>. I'll leave the original question intact below for posterity's sake.</p>
  
  <hr>
  
  <p>There are at least half a dozen Django apps that provide OpenID authentication for Django:</p>
  
  <ul>
  <li><a href="http://github.com/simonw/django-openid" rel="noreferrer">django-openid</a></li>
  <li><a href="https://launchpad.net/django-openid-auth" rel="noreferrer">django-openid-auth</a></li>
  <li>another <a href="http://code.google.com/p/django-openid-auth/" rel="noreferrer">django-openid-auth</a>, which seems to be dead</li>
  <li><a href="http://bitbucket.org/benoitc/django-authopenid/wiki/Home" rel="noreferrer">django-authopenid</a></li>
  <li><a href="http://github.com/uswaretech/Django-Socialauth" rel="noreferrer">django-socialauth</a> (which also provides authentication with Twitter and Facebook accounts)</li>
  <li><a href="http://github.com/flashingpumpkin/django-socialregistration" rel="noreferrer">django-socialregistration</a> (has Facebook and Twitter authentication, too)</li>
  <li><a href="http://code.google.com/p/django-openid-consumer/" rel="noreferrer">django-openid-consumer</a>, a fork of Simon Willison's original django-openid. Seems more suited for simple blog comments than a full fledged registration workflow</li>
  <li><a href="http://github.com/omab/django-social-auth" rel="noreferrer">django-social-auth</a></li>
  </ul>
  
  <p>I played around with a couple of them. Simon Willison's <a href="http://github.com/simonw/django-openid" rel="noreferrer">django-openid</a> 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.</p>
  
  <p><a href="http://bitbucket.org/benoitc/django-authopenid/wiki/Home" rel="noreferrer">django-authopenid</a> made a good impression, and it seems to have good integration with <a href="http://bitbucket.org/ubernostrum/django-registration/wiki/Home" rel="noreferrer">django-registration</a>. <a href="http://github.com/uswaretech/Django-Socialauth" rel="noreferrer">django-socialauth</a> and <a href="http://github.com/flashingpumpkin/django-socialregistration" rel="noreferrer">django-socialregistration</a> 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 <a href="http://www.elfsternberg.com/2009/11/24/django-socialauth-component-now-with-some-elfin-goodness/" rel="noreferrer">its share of problems</a>, though.</p>
  
  <p>So, what is the best OpenID app out there? Please share any positive (and negative) experience. Thanks!</p>