Skip to main content

Django Rest Framework Library to use Auth0 authentication

Project description



**This library is in an early stage of development, use with caution, and -if you can- push some changes :)**

Library to simply use Auth0 token authentication in DRF within djangorestframework-jwt

This library let you to login an specific user based on the JWT Token returned by Auth0 Javascript libraries

Detailed documentation will be in the "docs" directory.


1. Using `pip` install the library cloning the repository with following command::

pip install rest_framework_auth0

Quick start

1. Add "django.contrib.auth to INSTALLED_APPS settings like this::


This will allow us to login as an specific user as well as auto-creating users when they don't exist

1. Add "rest_framework_auth0" to your INSTALLED_APPS **after** `rest_framework_jwt` setting like this::


2. Add `Auth0JSONWebTokenAuthentication` in your DEFAULT_AUTHENTICATION_CLASSES located at from your project::


3. Add your AUTH0_CLIENT_SECRET and AUTH0_CLIENT_ID in your file -must be the same secret and id than the frontend App-::

AUTH0 = {
'AUTH0_CLIENT_ID':'<YOUR_AUTH0_CLIENT_ID>', #make sure it's the same string that aud attribute in your payload provides
'AUTH0_ALGORITHM':'HS256', #default used in Auth0 apps
'JWT_AUTH_HEADER_PREFIX': 'JWT', #default prefix used by djangorestframework_jwt
'AUTHORIZATION_EXTENSION': False, #if True, enable groups auto_creations based on the app_metadata.groups attribute on the user payload
'CLIENT_SECRET_BASE64_ENCODED': True #default to True, if you're Auth0 user since December, maybe you should set it to False

4. Add the `Authorization` Header to all of your REST API request, prefixing JWT to your token::

Authorization: JWT <AUTH0_GIVEN_TOKEN>

5. Use the decorator `@token_required` in all views you want to protect (not_ready_yet)

6. That's it

Sample project

A sample project can be found on

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for rest-framework-auth0, version 0.1.9
Filename, size File type Python version Upload date Hashes
Filename, size rest_framework_auth0-0.1.9.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page