django-allauth
HomePage: http://github.com/pennersr/django-allauth
Author: Raymond Penners
Download: https://pypi.python.org/packages/source/d/django-allauth/django-allauth-0.16.1.tar.gz
========================== Welcome to django-allauth! ========================== .. image:: https://badge.fury.io/py/django-allauth.png :target: http://badge.fury.io/py/django-allauth .. image:: https://travis-ci.org/pennersr/django-allauth.png :target: http://travis-ci.org/pennersr/django-allauth .. image:: https://pypip.in/d/django-allauth/badge.png :target: https://crate.io/packages/django-allauth?version=latest .. image:: https://coveralls.io/repos/pennersr/django-allauth/badge.png?branch=master :alt: Coverage Status :target: https://coveralls.io/r/pennersr/django-allauth Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication. Home page http://www.intenct.nl/projects/django-allauth/ Source code http://github.com/pennersr/django-allauth Mailinglist http://groups.google.com/group/django-allauth Documentation http://django-allauth.readthedocs.org/en/latest/ Stack Overflow http://stackoverflow.com/questions/tagged/django-allauth Rationale ========= 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 account. 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. Overview ======== Requirements ------------ - 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... Features -------- - 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