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
- Behance OAuth2
- BelgiumEIDOpenId OpenId https://www.e-contract.be/
- Bitbucket OAuth1
- Box OAuth2
- Clef 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
- Linkedin OAuth1
- Live OAuth2
- Livejournal OpenId
- Mailru OAuth2
- Mendeley OAuth1 http://mendeley.com
- Mixcloud OAuth2
- Mozilla Persona
- Odnoklassniki OAuth2 and Application Auth
- OpenId
- OpenStreetMap OAuth1 http://wiki.openstreetmap.org/wiki/OAuth
- OpenSuse OpenId http://en.opensuse.org/openSUSE:Connect
- Orkut OAuth1
- 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
- Xing OAuth1
- Yahoo OpenId and OAuth1
- Yammer OAuth2
- Yandex OAuth1, OAuth2 and OpenId
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 python-oauth2 (despite the name, this is just for OAuth1)
- 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
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: