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
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:
- DISQUS OAuth
- 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
- `Trello OAuth`_
- Weibo OAuth2
- Yandex OpenId
- Shopify OAuth2
- StockTwits OAuth2
- Stackoverflow OAuth2
- Fedora OpenID
- Exacttarget HubExchange
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
There's a demo at http://social.matiasaguirre.net/. Note: It lacks some backends' support at the moment.
Join the django-social-auth discussion list and bring any questions or suggestions that would improve this application.
Also join the IRC channel #django-social-auth
on Freenode server.
Extensive documentation 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.