Skip to main content

Python social authentication made simple.

Project description

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.

.. image:: https://travis-ci.org/omab/python-social-auth.png?branch=master
:target: https://travis-ci.org/omab/python-social-auth

.. image:: https://badge.fury.io/py/python-social-auth.png
:target: http://badge.fury.io/py/python-social-auth

.. image:: https://pypip.in/d/python-social-auth/badge.png
:target: https://crate.io/packages/python-social-auth?version=latest

.. image:: https://readthedocs.org/projects/python-social-auth/badge/?version=latest
:target: https://readthedocs.org/projects/python-social-auth/?badge=latest
:alt: Documentation Status

.. contents:: 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:

* Django_
* Flask_
* Pyramid_
* Webpy_
* Tornado_

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
* 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_ 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.

- Other dependencies:
* six_
* requests_


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.

.. image:: http://www.codersclan.net/graphics/getSupport_github4.png
:target: http://codersclan.net/forum/index.php?repo_id=8


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:

.. _LICENSE: https://github.com/omab/python-social-auth/blob/master/LICENSE
.. _django-social-auth: https://github.com/omab/django-social-auth
.. _django-social-auth LICENSE: https://github.com/omab/django-social-auth/blob/master/LICENSE
.. _OpenId: http://openid.net/
.. _OAuth: http://oauth.net/
.. _myOpenID: https://www.myopenid.com/
.. _Angel: https://angel.co
.. _Appsfuel: http://docs.appsfuel.com
.. _Behance: https://www.behance.net
.. _Bitbucket: https://bitbucket.org
.. _Box: https://www.box.com
.. _Clef: https://getclef.com/
.. _Coursera: https://www.coursera.org/
.. _Dailymotion: https://dailymotion.com
.. _DigitalOcean: https://www.digitalocean.com/
.. _Disqus: https://disqus.com
.. _Douban: http://www.douban.com
.. _Dropbox: https://dropbox.com
.. _Evernote: https://www.evernote.com
.. _Facebook: https://www.facebook.com
.. _Fitbit: https://fitbit.com
.. _Flickr: http://www.flickr.com
.. _Foursquare: https://foursquare.com
.. _Google App Engine: https://developers.google.com/appengine/
.. _Github: https://github.com
.. _Google: http://google.com
.. _Instagram: https://instagram.com
.. _LaunchPad: https://help.launchpad.net/YourAccount/OpenID
.. _Linkedin: https://www.linkedin.com
.. _Live: https://live.com
.. _Livejournal: http://livejournal.com
.. _Khan Academy: https://github.com/Khan/khan-api/wiki/Khan-Academy-API-Authentication
.. _Mailru: https://mail.ru
.. _MapMyFitness: http://www.mapmyfitness.com/
.. _Mixcloud: https://www.mixcloud.com
.. _Moves app: https://dev.moves-app.com/docs/
.. _Mozilla Persona: http://www.mozilla.org/persona/
.. _NaszaKlasa: https://developers.nk.pl/
.. _Odnoklassniki: http://www.odnoklassniki.ru
.. _Pocket: http://getpocket.com
.. _Podio: https://podio.com
.. _Shopify: http://shopify.com
.. _Skyrock: https://skyrock.com
.. _Soundcloud: https://soundcloud.com
.. _Stocktwits: https://stocktwits.com
.. _Strava: http://strava.com
.. _Stripe: https://stripe.com
.. _Taobao: http://open.taobao.com/doc/detail.htm?id=118
.. _Tripit: https://www.tripit.com
.. _Twilio: https://www.twilio.com
.. _Twitter: http://twitter.com
.. _VK.com: http://vk.com
.. _Weibo: https://weibo.com
.. _Wunderlist: https://wunderlist.com
.. _Xing: https://www.xing.com
.. _Yahoo: http://yahoo.com
.. _Yammer: https://www.yammer.com
.. _Yandex: https://yandex.ru
.. _Readability: http://www.readability.com/
.. _Stackoverflow: http://stackoverflow.com/
.. _Steam: http://steamcommunity.com/
.. _Rdio: https://www.rdio.com
.. _Tumblr: http://www.tumblr.com/
.. _Amazon: http://login.amazon.com/website
.. _AOL: http://www.aol.com/
.. _BelgiumEIDOpenId: https://www.e-contract.be/
.. _Fedora: http://fedoraproject.org/wiki/OpenID
.. _Jawbone: https://jawbone.com/up/developer/authentication
.. _Mendeley: http://mendeley.com
.. _Reddit: https://github.com/reddit/reddit/wiki/OAuth2
.. _OpenSuse: http://en.opensuse.org/openSUSE:Connect
.. _ThisIsMyJam: https://www.thisismyjam.com/developers/authentication
.. _Trello: https://trello.com/docs/gettingstarted/oauth.html
.. _Django: https://github.com/omab/python-social-auth/tree/master/social/apps/django_app
.. _Flask: https://github.com/omab/python-social-auth/tree/master/social/apps/flask_app
.. _Pyramid: http://www.pylonsproject.org/projects/pyramid/about
.. _Webpy: https://github.com/omab/python-social-auth/tree/master/social/apps/webpy_app
.. _Tornado: http://www.tornadoweb.org/
.. _python-openid: http://pypi.python.org/pypi/python-openid/
.. _requests-oauthlib: https://requests-oauthlib.readthedocs.org/
.. _sqlalchemy: http://www.sqlalchemy.org/
.. _pypi: http://pypi.python.org/pypi/python-social-auth/
.. _OpenStreetMap: http://www.openstreetmap.org
.. _six: http://pythonhosted.org/six/
.. _requests: http://docs.python-requests.org/en/latest/
.. _PixelPin: http://pixelpin.co.uk
.. _Zotero: http://www.zotero.org/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-social-auth-0.2.11.tar.gz (270.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

python_social_auth-0.2.11-py3-none-any.whl (264.2 kB view details)

Uploaded Python 3

python_social_auth-0.2.11-py2-none-any.whl (264.2 kB view details)

Uploaded Python 2

File details

Details for the file python-social-auth-0.2.11.tar.gz.

File metadata

File hashes

Hashes for python-social-auth-0.2.11.tar.gz
Algorithm Hash digest
SHA256 98d491748e8b02f6b8da3204b783e9cbec55ce5719ffee21d87ef1150314592b
MD5 a4f1a7d1e0e5ff2705e31fa4fc67fb04
BLAKE2b-256 7d510767fae108d91f3c5c58c4fd2dbdbd4578696da525de99202d9f6895ab4c

See more details on using hashes here.

File details

Details for the file python_social_auth-0.2.11-py3-none-any.whl.

File metadata

File hashes

Hashes for python_social_auth-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 14e2c690bfb75f7b77ad9ea127971d1c01d302af1bafcb378f29ee97d5fa49b5
MD5 b4bb85920712dbb29ae153995e704dc4
BLAKE2b-256 f2a23b99b10823e081c07e87a908c55baad23fc075605a4764a0e2ee1617f1b3

See more details on using hashes here.

File details

Details for the file python_social_auth-0.2.11-py2-none-any.whl.

File metadata

File hashes

Hashes for python_social_auth-0.2.11-py2-none-any.whl
Algorithm Hash digest
SHA256 06e5576548f409d418008c753003eef3dcc275a69c6bbd0bf4fbfcb8ba166f61
MD5 7f736bbcc3bdb269c5d60ab2afa10ced
BLAKE2b-256 218e39ced5423655f5b23a82b939e4e0549ce7f9da4ce3a4d8f645c55d948239

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page