OAuth2 goodies for the Djangonauts!
Python HTML
Latest commit c1b96d0 May 15, 2017 @rigaspapas rigaspapas committed with jleclanche Disallow empty redirect URIs
The empty string does no longer pass the URI validator. This does not
make existing code that relies on `blank=True' fail, it just fixes the
case where the user provides an empty string.

Signed-off-by: Rigas Papathanasopoulos <rigas@arrikto.com>


Django OAuth Toolkit

OAuth2 goodies for the Djangonauts!

https://badge.fury.io/py/django-oauth-toolkit.png Build Status Coverage Status
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.


If you need support please send a message to the Django OAuth Toolkit Google Group


We love contributions, so please feel free to fix bugs, improve things, provide documentation. Just follow the guidelines and submit a PR.

Reporting security issues

If you believe you've found an issue with security implications, please send a detailed description via email to security@evonove.it. Mail sent to that address reaches the Django OAuth Toolkit core team, who can solve (or forward) the security issue as soon as possible. After our acknowledge, we may decide to open a public discussion in our mailing list or issues tracker.

Once you’ve submitted an issue via email, you should receive a response from the core team within 48 hours, and depending on the action to be taken, you may receive further followup emails.


  • Python 2.7, 3.4, 3.5, 3.6
  • Django 1.10, 1.11


Install with pip:

pip install django-oauth-toolkit

Add oauth2_provider to your INSTALLED_APPS


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

urlpatterns = [
    url(r'^o/', include('oauth2_provider.urls', namespace='oauth2_provider')),




The full documentation is on Read the Docs.


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