Django Social Auth is an easy way to setup social authentication/authorization mechanism for Django projects.
Crafted using base code from django-twitter-oauth and django-openid-auth, it implements a common interface to define new authentication providers from third parties.
You can view this app's documentation on Read the Docs too.
Table of Contents
There's a demo at http://social.matiasaguirre.net/. Note: It lacks some backends' support at the moment.
This application provides user registration and login using social site credentials. Some features are:
Registration and login with social sites using the following providers at the moment:
Some contributions added support for:
- LiveJournal OpenID
- Orkut OAuth
- Linkedin OAuth
- Foursquare OAuth2
- GitHub OAuth
- Dropbox OAuth
- Flickr OAuth
- Vkontakte OAuth
- MSN Live Connect OAuth2
- Skyrock OAuth
- Yahoo OAuth
- Evernote OAuth
- Mail.ru OAuth
- Odnoklassniki OAuth
- Mixcloud OAuth2
- BitBucket OAuth
- Douban OAuth
- Fitbit OAuth
- Instagram OAuth2
- Twilio
- Weibo OAuth2
- Yandex OpenId
Basic user data population and signaling to allows custom fields values from providers' responses
Multiple social account associations to a single user
Custom User model override if needed (auth.User by default)
Extensible pipeline to handle authentication/association mechanism
Extensive documentaion at Read the Docs.
Dependencies that must be met to use the application:
- OpenId support depends on python-openid
- OAuth support depends on python-oauth2
- Several backends demands application registration on their corresponding sites
From pypi:
$ pip install django-social-auth
or:
$ easy_install django-social-auth
or clone from github:
$ git clone git://github.com/omab/django-social-auth.git
and add social_auth to PYTHONPATH:
$ export PYTHONPATH=$PYTHONPATH:$(pwd)/django-social-auth/
or:
$ cd django-social-auth $ sudo python setup.py install
django-social-auth
is protected by BSD licence.
Some bits were derived from others' work and copyrighted by:
django-twitter-oauth:
Original Copyright goes to Henrik Lied (henriklied) Code borrowed from https://github.com/henriklied/django-twitter-oauth
django-openid-auth:
django-openid-auth - OpenID integration for django.contrib.auth Copyright (C) 2007 Simon Willison Copyright (C) 2008-2010 Canonical Ltd.