/python-social-auth

Python Social Auth made easy

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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, implements a common interface to define new authentication providers from third parties. And to bring support for more frameworks and ORMs.

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

This application provides user registration and login using social sites credentials, here are some features, probably not a full list yet.

Multiple frameworks support:

More frameworks can be added easily (and should be even easier in the future once the code matures).

Several supported service by simple backends definition (easy to add new ones or extend current one):

Basic user data population, to allows custom fields values from providers 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 meet 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 demands 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/docs/.

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

python-social-auth is protected by BSD licence. Check the LICENCE for details.

The base work was derived from django-social-auth work and copyrighted too, check django-social-auth LICENCE for details: