Python Social Auth
Python Social Auth is an easy-to-setup social authentication/registration mechanism with support for several frameworks and auth providers.
Crafted using base code from django-social-auth, it implements a common interface to define new authentication providers from third parties, and to bring support for more frameworks and ORMs.
Table of Contents
Features
This application provides user registration and login using social sites credentials. Here are some features, which is probably not a full list yet.
Supported frameworks
Multiple frameworks are supported:
More frameworks can be added easily (and should be even easier in the future once the code matures).
Auth providers
Several services are supported by simply defining backends (new ones can be easily added or current ones extended):
- Amazon OAuth2 http://login.amazon.com/website
- Angel OAuth2
- AOL OpenId http://www.aol.com/
- Appsfuel OAuth2
- Behance OAuth2
- BelgiumEIDOpenId OpenId https://www.e-contract.be/
- Bitbucket OAuth1
- Box OAuth2
- Clef OAuth2
- Coursera OAuth2
- Dailymotion OAuth2
- Disqus OAuth2
- Douban OAuth1 and OAuth2
- Dropbox OAuth1 and OAuth2
- Evernote OAuth1
- Exacttarget OAuth2
- Facebook OAuth2 and OAuth2 for Applications
- Fedora OpenId http://fedoraproject.org/wiki/OpenID
- Fitbit OAuth1
- Flickr OAuth1
- Foursquare OAuth2
- Google App Engine Auth
- Github OAuth2
- Google OAuth1, OAuth2 and OpenId
- Instagram OAuth2
- Jawbone OAuth2 https://jawbone.com/up/developer/authentication
- Kakao_ OAuth2 https://developer.kakao.com
- Khan Academy OAuth1
- Launchpad OpenId
- Linkedin OAuth1
- Live OAuth2
- Livejournal OpenId
- LoginRadius_ OAuth2 and Application Auth
- Mailru OAuth2
- MapMyFitness OAuth2
- Mendeley OAuth1 http://mendeley.com
- Mixcloud OAuth2
- Moves app OAuth2 https://dev.moves-app.com/docs/authentication
- Mozilla Persona
- NaszaKlasa OAuth2
- Odnoklassniki OAuth2 and Application Auth
- OpenId
- OpenStreetMap OAuth1 http://wiki.openstreetmap.org/wiki/OAuth
- OpenSuse OpenId http://en.opensuse.org/openSUSE:Connect
- PixelPin OAuth2
- Pocket OAuth2
- Podio OAuth2
- Rdio OAuth1 and OAuth2
- Readability OAuth1
- Reddit OAuth2 https://github.com/reddit/reddit/wiki/OAuth2
- Shopify OAuth2
- Skyrock OAuth1
- Soundcloud OAuth2
- Stackoverflow OAuth2
- Steam OpenId
- Stocktwits OAuth2
- Strava OAuth2
- Stripe OAuth2
- Taobao OAuth2 http://open.taobao.com/doc/detail.htm?id=118
- ThisIsMyJam OAuth1 https://www.thisismyjam.com/developers/authentication
- Trello OAuth1 https://trello.com/docs/gettingstarted/oauth.html
- Tripit OAuth1
- Tumblr OAuth1
- Twilio Auth
- Twitter OAuth1
- VK.com OpenAPI, OAuth2 and OAuth2 for Applications
- Weibo OAuth2
- Wunderlist OAuth2
- Xing OAuth1
- Yahoo OpenId and OAuth2
- Yammer OAuth2
- Yandex OAuth1, OAuth2 and OpenId
- Zotero OAuth1
User data
Basic user data population, to allow custom field values from provider's response.
Social accounts association
Multiple social accounts can be associated to a single user.
Authentication processing
Extensible pipeline to handle authentication/association mechanism in ways that suits your project.
Dependencies
Dependencies that must be met to use the application:
- OpenId support depends on python-openid
- OAuth support depends on requests-oauthlib
- Several backends demand application registration on their corresponding sites and other dependencies like sqlalchemy on Flask and Webpy.
Documents
Project homepage is available at http://psa.matiasaguirre.net/ and documents at http://psa.matiasaguirre.net or http://python-social-auth.readthedocs.org/.
Installation
From pypi:
$ pip install python-social-auth
Or:
$ easy_install python-social-auth
Or clone from github:
$ git clone git://github.com/omab/python-social-auth.git
And add social to PYTHONPATH
:
$ export PYTHONPATH=$PYTHONPATH:$(pwd)/python-social-auth/
Or:
$ cd python-social-auth $ sudo python setup.py install
Upgrading
Django with South
Upgrading from 0.1 to 0.2 is likely to cause problems trying to apply a migration when the tables already exist. In this case a fake migration needs to be applied:
$ python manage.py migrate --fake default
Support
If you're having problems with using the project, use the support forum at CodersClan.
Copyrights and License
python-social-auth
is protected by BSD license. Check the LICENSE for
details.
The base work was derived from django-social-auth work and copyrighted too, check django-social-auth LICENSE for details: