Класс пользовательских разрешений Django не работает
Я использую Django REST для своего API.
Вот мой пользовательский класс разрешений: permissions.py:
from rest_framework.permissions import BasePermission
from rest_framework.response import Response
class ItemsPermissions(BasePermission):
def has_permission(self, request, view):
try:
request_data = request.data
print(request_data)
auth_token = request_data['returnedDataFromAuthAPI']
if("accessToken" in auth_token):
auth_token = auth_token['accessToken']
Response({"Permission Granted - AccessToken": auth_token})
return True
#else
Response({"message": "No Auth Token Provided! You Need To Login!"})
return False
except Exception as ex:
return Response({"message": ex})
в файле views.py:
class ListItems(generics.ListAPIView):
permission_classes = [ShippingPermissions]
queryset = myModel.objects.all()
serializer_class = mySerializer
в urls.py:
url_patterns = [
path("/items/list/", ListItems.as_view()),
]
У меня есть микросервис аутентификации, от которого я получаю токен JWT, чтобы пользователь имел доступ к представлениям. В классе ItemsPermissions я проверяю токен.
Мой вопрос: Я хочу предоставить пользователю доступ к классу ListItems, после предоставления token, но если token не предоставлен, то пользователь не должен иметь доступ.
Однако по какой-то причине я могу получить доступ к конечной точке /items/list/, и она вообще не запрашивает токен.
В чем проблема?