What is the best authentication app for Django that:
- has configurable required fields, for example allows using email as username
- integrates with other authentication APIs, such as Facebook, Twitter, Google
- password recovery flow is configurable, sends temporary password vs. recovery link
- preferably has invitation system, so the registration process can be controlled
I don’t think there is any that has all these features, so I’m looking for one that covers as much as possible. But these are features that almost any well design web service should have. So I don’t want to reinvent the wheel.
There isn’t one django package that will cover everything, instead there are numerous great projects that tackle each of the requirements you mention:
You could also have a look at django-userena which is a new hosted solution to user management for your django app. I haven’t looked into how it works or how comprehensive it is, but it looks promising.
Finally, have a look at django packages for other authentication apps:
http://djangopackages.com/grids/g/authentication/
EDIT:
This post is a little outdated
authmodule so you can now edit what fields you want to make use of for your user (email only, no username etc.). This is also useful if you want to add profile-like information to your user without having to join with another table (like you would with django-profiles or aOneToOnerelationship with a custom profile model)