import json from django.conf.urls import include, url from django.contrib import admin from django.http import HttpResponse from rest_framework import permissions from rest_framework.views import APIView from oauth2_provider.contrib.rest_framework import TokenHasScope admin.autodiscover() class MockView(APIView): permission_classes = (permissions.AllowAny,) def get(self, _request): return HttpResponse('mockview-get') def post(self, request): response = json.dumps(dict(request.session)) return HttpResponse(response) class MockForAuthView(APIView): permission_classes = (permissions.IsAuthenticated,) def get(self, _request): return HttpResponse('mockforauthview-get') def post(self, request): response = json.dumps({"username": request.user.username}) return HttpResponse(response) class MockForAuthScopeView(APIView): permission_classes = (TokenHasScope,) required_scopes = ['write'] def get(self, _request): return HttpResponse('mockforauthscopeview-get') def post(self, request): response = json.dumps({"username": request.user.username}) return HttpResponse(response) urlpatterns = [ url(r"^o/", include("oauth2_provider_jwt.urls", namespace="oauth2_provider_jwt")), url(r'^jwt/$', MockView.as_view()), url(r'^jwt_auth/$', MockForAuthView.as_view()), url(r'^jwt_auth_scope/$', MockForAuthScopeView.as_view()), ] urlpatterns += [url(r"^admin/", admin.site.urls)]