Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

REST framework JWT Auth (FORK)

Added a possibility to use custom User model. So that it is possible have several User models at the same project and keep authentication flow separately from each other.

Recipe

  1. Extend `rest_framework_jwt.authentication.JSONWebTokenAuthentication` and define which user model it should use.

    from rest_framework_jwt import authentication
    
    class MyJWTAuthentication(authentication.JSONWebTokenAuthentication):
        user_model = 'some_app.SomeUserModel'
  2. Define views that manipulate the token and tell them which user model to use. e.g.:

    from rest_framework_jwt.views import ObtainJSONWebToken, RefreshJSONWebToken
    
    obtain_jwt_token = ObtainJSONWebToken.as_view(user_model='some_app.SomeUserModel')
    
    urlpatterns = router.urls + [
        url(r'^api-token-auth/', obtain_jwt_token, name='auth-jwt-get'),
    ]
  3. Use your authentication class in your views.

    class TestView(ViewSet):
        authentication_classes = (MyJWTAuthentication, )

If you don’t want to use default `django.contrib.auth.authenticate` which is using backends defined at `settings.AUTHENTICATION_BACKENDS` for all users, you need to write your own authentication handler and tell `JSONWebTokenSerializer` to use it by overriding `JSONWebTokenSerializer.authenticate` method.

class MyJWTSerializer(serializers_jwt.JSONWebTokenSerializer):

    def authenticate(self, **credentials):
        return my_authenticate(**credentials)

# your obtain token view then will look like this
obtain_jwt_token = ObtainJSONWebToken.as_view(
    user_model='some_app.SomeUserModel',
    serializer_class=MyJWTSerializer
)
urlpatterns = router.urls + [
   url(r'^api-token-auth/', obtain_jwt_token, name='auth-jwt-get'),
]

REST framework JWT Auth

build-status-image pypi-version

JSON Web Token Authentication support for Django REST Framework

Full documentation for the project is available at docs.

Overview

This package provides JSON Web Token Authentication support for Django REST framework.

If you want to know more about JWT, check out the following resources:

Requirements

  • Python (2.7, 3.3, 3.4, 3.5)

  • Django (1.8, 1.9, 1.10, 1.11)

  • Django REST Framework (3.1, 3.2, 3.3, 3.4, 3.5, 3.6)

Installation

Install using pip…

$ pip install djangorestframework-jwt

Documentation & Support

Full documentation for the project is available at docs.

You may also want to follow the author on Twitter.

Metadata

Release files for djangorestframework-jwt-custom-user 1.11.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for djangorestframework-jwt-custom-user 1.11.1
File Size Uploaded
djangorestframework-jwt-custom-user-1.11.1.tar.gz 10.9 kB Details

Release files / djangorestframework-jwt-custom-user-1.11.1.tar.gz

Download URL djangorestframework-jwt-custom-user-1.11.1.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1679a68010d43f687431a2f0ec2397cc24a2ca650a46f7acd2723e87ccb98d14
BLAKE2b-256 checksum
How to use checksums
f821ca74ee4648712e4bf9b38005bf5fea7eb4171bf6b434ffd8d04ec9cf4dde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.11.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page