Creating a custom authentication backend for Django is actually quite easy.
What might they be used for?
- E-mail based usernames
- Third party authentication - ie Facebook, Other Web Service, POP3/IMAP, LDAP
For this tutorial I will create a IMAP authentication backend which allows checking a username and password against an E-mail server - perfect if you are writing your own webmail client or address book.