Python Social Authentication, Django integration, Google compliant fork
Project description
Compliant Social App Django
This is a Google compliant fork of the Django component of the python-social-auth ecosystem, it implements the needed functionality to integrate social-auth-core in a Django based project.
Python Social Auth - Django
Python Social Auth is an easy to setup social authentication/registration mechanism with support for several frameworks and auth providers.
Django version
This project will focus on the currently supported Django releases as stated on the Django Project Supported Versions table.
Backward compatibility with unsupported versions won't be enforced.
Documentation
Compliant Social App Django provides three key features required to comply with Google's standards for applications that ask for restricted scopes such as the ability to read gmail inboxes:
- Storing the access and refresh tokens encrypted in the database.
- The encryption of those tokens being backed by KMS.
- Audit logs that register the access to and revocation of those same tokens.
An Audit Logger object must be provided to the app, and must inherit from the abstract base audit logger provided. We also provide an alternative Google backend that uses the audit logger.
KMS must be set up independently, and you must specify a KMS_FIELD_KEY in settings; typically the alias of your KMS key.
If moving to this package from the main social-app-django package the db migrations will also handle the migration of tokens, with encryption, into their appropriate fields.
Core project documentation is available at https://python-social-auth.readthedocs.org/.
Setup
$ pip install compliant-social-app-django
Versioning
This project follows Semantic Versioning 2.0.0.
This fork's versioning will match the major version of the original package version upon which it is based
Building and Releasing
To release a new version use these steps:
- Increment the version number in
__init.py__
- Update the
CHANGELOG.md
with description of the changes in the release (and commit) - Remove the
build
anddist
directories completelyrm -rf build dist
- Build the source distribution:
python setup.py sdist
- Push the distribution. You'll need to configure your
~/.pypirc
file to authenticate with Pypi using an API token before running this.python -m twine upload --repository compliant-social-app-django dist/*
- Tag the release and push the tag
License
This project follows the BSD license. See the LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.