python-social-auth is a very modular library looking to provide the basic tools to implement social authentication / authorization in Python projects. For that reason, the project is split in smaller components that focus on providing a simpler functionality. Some components are:
social-auth-core Core library that the rest depends on, this contains the basic functionality to establish an authentication/authorization flow with the diferent supported providers.
social-auth-app-pyramid Pyramid framework integration
social-auth-app-cherrypy Cherrypy framework integration
social-auth-app-tornado Tornado framework integration
social-auth-app-webpy Webpy framework integration
Dependencies are properly defined in the requirements files; the
setup.py script will determine the environment where it’s
installed and sort between Python 2 or Python 3 packages if
needed. There are some
extras defined to install the corresponding
dependencies since they are required to build extensions that, unless
used, are undesired.
OpenIDConnect support requires the use of the
SAML support requires the use of the
There’s also the
all extra that will install all the extra options.
Several backends demand application registration on their corresponding sites and other dependencies like SQLAlchemy on Flask and Webpy.
Get a copy¶
$ pip install social-auth-<component>
Or, grab the relevant repository from GitHub, then:
$ cd social-auth-<component> $ sudo python setup.py install
$ pip install "social-auth-core[openidconnect]" $ pip install "social-auth-core[saml]" $ pip install "social-auth-core[all]"