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
This application provides user registration and login using social sites credentials. Here are some features, which is probably not a full list yet.
Multiple frameworks are supported:
More frameworks can be added easily (and should be even easier in the future once the code matures).
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
- ArcGIS OAuth2
- Behance OAuth2
- BelgiumEIDOpenId OpenId https://www.e-contract.be/
- Bitbucket OAuth1
- Box OAuth2
- Clef OAuth2
- Coursera OAuth2
- Dailymotion OAuth2
- DigitalOcean OAuth2 https://developers.digitalocean.com/documentation/oauth/
- 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 OAuth2 and OAuth1
- Flickr OAuth1
- Foursquare OAuth2
- Google App Engine Auth
- Github OAuth2
- Google OAuth1, OAuth2 and OpenId
- Instagram OAuth2
- Itembase OAuth2
- Jawbone OAuth2 https://jawbone.com/up/developer/authentication
- Kakao_ OAuth2 https://developer.kakao.com
- Khan Academy OAuth1
- Launchpad OpenId
- Line OAuth2
- 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
- NGPVAN ActionID OpenId
- Odnoklassniki OAuth2 and Application Auth
- OpenId
- OpenStreetMap OAuth1 http://wiki.openstreetmap.org/wiki/OAuth
- OpenSuse OpenId http://en.opensuse.org/openSUSE:Connect
- Pinterest OAuth2
- PixelPin OAuth2
- Pocket OAuth2
- Podio OAuth2
- Rdio OAuth1 and OAuth2
- Readability OAuth1
- Reddit OAuth2 https://github.com/reddit/reddit/wiki/OAuth2
- Shopify OAuth2
- Sketchfab 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
- Uber OAuth2
- Untappd OAuth2
- VK.com OpenAPI, OAuth2 and OAuth2 for Applications
- Weibo OAuth2
- Withings_ OAuth1
- Wunderlist OAuth2
- Xing OAuth1
- Yahoo OpenId and OAuth2
- Yammer OAuth2
- Yandex OAuth1, OAuth2 and OpenId
- Zotero OAuth1
Basic user data population, to allow custom field values from provider's response.
Multiple social accounts can be associated to a single user.
Extensible pipeline to handle authentication/association mechanism in ways that suits your project.
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.
Project homepage is available at http://psa.matiasaguirre.net/ and documents at http://psa.matiasaguirre.net or http://python-social-auth.readthedocs.org/.
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 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
If you're having problems with using the project, use the support forum at CodersClan.
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: