Author: Raymond Penners


Welcome to django-allauth!

.. image::

.. image::

.. image::

.. image::
   :alt: Coverage Status

Integrated set of Django applications addressing authentication,
registration, account management as well as 3rd party (social) account

Home page

Source code



Stack Overflow


Most existing Django apps that address the problem of social
authentication focus on just that. You typically need to integrate
another app in order to support authentication via a local

This approach separates the worlds of local and social
authentication. However, there are common scenarios to be dealt with
in both worlds. For example, an e-mail address passed along by an
OpenID provider is not guaranteed to be verified. So, before hooking
an OpenID account up to a local account the e-mail address must be
verified. So, e-mail verification needs to be present in both worlds.

Integrating both worlds is quite a tedious process. It is definitely
not a matter of simply adding one social authentication app, and one
local account registration app to your `INSTALLED_APPS` list.

This is the reason this project got started -- to offer a fully
integrated authentication app that allows for both local and social
authentication, with flows that just work.



- Python 2.6, 2.7 or 3.3

- Django (1.4.3+)

- python-openid or python3-openid (depending on your Python version)

- requests and requests-oauthlib

Supported Flows

- Signup of both local and social accounts

- Connecting more than one social account to a local account

- Disconnecting a social account -- requires setting a password if
  only the local account remains

- Optional instant-signup for social accounts -- no questions asked

- E-mail address management (multiple e-mail addresses, setting a primary)

- Password forgotten flow

- E-mail address verification flow

Supported Providers

- Amazon (OAuth2)

- AngelList (OAuth2)

- Bitbucket (OAuth)

- Bitly (OAuth2)

- Dropbox (OAuth)

- Facebook (both OAuth2 and JS SDK)

- Feedly (OAuth2)

- Flickr (OAuth)

- Github (OAuth2)

- Google (OAuth2)

- Instagram (OAuth2)

- LinkedIn (OAuth, OAuth2)

- OpenId

- Paypal (OAuth2)

- Persona

- SoundCloud (OAuth2)

- Stack Exchange (OAuth2)

- Tumblr (OAuth)

- Twitch (OAuth2)

- Twitter (OAuth)

- Vimeo (OAuth)

- VK (OAuth2)

- Weibo (OAuth2)

Note: OAuth/OAuth2 support is built using a common code base, making it easy to add support for additional OAuth/OAuth2 providers. More will follow soon...


- Supports multiple authentication schemes (e.g. login by user name,
  or by e-mail), as well as multiple strategies for account
  verification (ranging from none to e-mail verification).

- All access tokens are consistently stored so that you can publish
  wall updates etc.

Architecture & Design

- Pluggable signup form for asking additional questions during signup.

- Support for connecting multiple social accounts to a Django user account.

- The required consumer keys and secrets for interacting with
  Facebook, Twitter and the likes are to be configured in the database
  via the Django admin using the SocialApp model.

- Consumer keys, tokens make use of the Django sites f