Go to file
2023-10-12 16:00:23 +02:00
.github Test on Django 4.2 (#1264) 2023-04-14 14:55:59 -04:00
docs Implement OIDC RP-Initiated Logout (#1244) 2023-05-12 12:45:26 -04:00
oauth2_provider Bump version to trigger an upgrade 2023-10-12 16:00:23 +02:00
tests Cache loading of JWK object from OIDC private key (#1273) 2023-10-10 13:37:11 +02:00
.editorconfig OpenID Connect support (#915) 2021-03-17 18:08:50 -04:00
.gitignore chore: .gitignore local development files (#1137) 2022-03-29 12:54:57 -04:00
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate (#1261) 2023-04-03 18:07:25 -04:00
.readthedocs.yml Remove Django pinning in doc requirements. (#1050) 2021-12-21 09:09:24 -05:00
AUTHORS Cache loading of JWK object from OIDC private key (#1273) 2023-10-10 13:37:11 +02:00
CHANGELOG.md Cache loading of JWK object from OIDC private key (#1273) 2023-10-10 13:37:11 +02:00
CODE_OF_CONDUCT.md Jazzband: Created local 'CODE_OF_CONDUCT.md' from remote 'CODE_OF_CONDUCT.md' (#1021) 2021-10-22 17:52:20 +02:00
CONTRIBUTING.md Added jazzband badges 2018-04-08 07:54:02 +02:00
LICENSE [pre-commit.ci] auto fixes from pre-commit.com hooks 2021-10-19 10:51:02 +06:00
MANIFEST.in Add AUTHORS file MANIFEST.in and fixed setup.py 2013-06-03 09:48:20 +02:00
pyproject.toml Drop retired Python 3.5 (#936) 2021-03-10 09:21:55 -05:00
README.rst Test on Django 4.2 (#1264) 2023-04-14 14:55:59 -04:00
setup.cfg Test on Django 4.2 (#1264) 2023-04-14 14:55:59 -04:00
setup.py Move tests outside of the oauth2_provider package 2017-03-09 08:40:21 +02:00
tox.ini Revert "Pin flake8 version until flake8-quotes catches up." (#1278) 2023-05-31 16:14:28 -04:00

Django OAuth Toolkit

Jazzband

OAuth2 goodies for the Djangonauts!

https://projects.blender.org/Oleg-Komarov/django-oauth-toolkit/media/branch/main/https://badge.fury.io/py/django-oauth-toolkit.svg GitHub Actions Coverage Supported Python versions Supported Django versions
If you are facing one or more of the following:
  • Your Django app exposes a web API you want to protect with OAuth2 authentication,

  • You need to implement an OAuth2 authorization server to provide tokens management for your infrastructure,

Django OAuth Toolkit can help you providing out of the box all the endpoints, data and logic needed to add OAuth2 capabilities to your Django projects. Django OAuth Toolkit makes extensive use of the excellent OAuthLib, so that everything is rfc-compliant.

Reporting security issues

Please report any security issues to the JazzBand security team at <security@jazzband.co>. Do not file an issue on the tracker.

Requirements

  • Python 3.7+

  • Django 2.2, 3.2, 4.0 (4.0.1+ due to a regression), 4.1, or 4.2

  • oauthlib 3.1+

Installation

Install with pip:

pip install django-oauth-toolkit

Add oauth2_provider to your INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'oauth2_provider',
)

If you need an OAuth2 provider youll want to add the following to your urls.py. Notice that oauth2_provider namespace is mandatory.

urlpatterns = [
    ...
    path('o/', include('oauth2_provider.urls', namespace='oauth2_provider')),
]

Changelog

See CHANGELOG.md.

Documentation

The full documentation is on Read the Docs.

License

django-oauth-toolkit is released under the terms of the BSD license. Full details in LICENSE file.

Help Wanted

We need help maintaining and enhancing django-oauth-toolkit (DOT).

Join the team

Please consider joining Jazzband (If not already a member) and the DOT project team.

How you can help

See our contributing info and the open issues and PRs, especially those labeled help-wanted.

Submit PRs and Perform Reviews

PR submissions and reviews are always appreciated! Since we require an independent review of any PR before it can be merged, having your second set of eyes looking at PRs is extremely valuable.

Please dont merge PRs

Please be aware that we dont want every Jazzband member to merge PRs but just a handful of project team members so that we can maintain a modicum of control over what goes into a release of this security oriented code base. Only project leads are able to publish releases to Pypi and it becomes difficult when creating a new release for the leads to deal with “unexpected” merged PRs.

Become a Project Lead

If you are interested in stepping up to be a Project Lead, please join the discussion.