/ / Определяне IsAuthentication в DRF Използване на DRF-JWT за извличане на тестване на списък с Postman - django, rest, api, django-rest-frame, jwt

Определяне IsAuthentication в DRF Използване на DRF-JWT за извличане на тестване на списък с Postman - django, rest, api, django-rest-frame, jwt

Така че използвам DRF JWT за моето удостоверяване. Потребителят подава идентификационни данни и ако е валиден, отговаря с JWT, който се съхранява в sessionStorage, Всеки път, когато потребителят навигира по защитените маршрути, JWT /api/auth/refresh за опресняване на маркера, ако той все още е валиден.

Както и да е, преминаване от удостоверяване и по защитени маршрути, където данните се извличат въз основа на това дали потребителят е IsAuthenticated според ДРФ. Проблемът е, че имам трудности да разбера как да определя IsAuthenticated в DRF, без отново да има потребителски данни за предоставяне. Трябва да спомена точно сега тествам с Пощальон.

URL адрес на API:

/api/help/questions

Имам възглед като:

class GetQuestionsAPIView(ListAPIView):
queryset = Help.objects.all()
serializer_class = GetQuestionsSerializer
permission_classes = [IsAuthenticated,]

Сериализаторът е:

class GetQuestionsSerializer(ModelSerializer):

class Meta:
model = Help
fields = "__all__"

def validate(self, data):
return data

Имам валиден знак от /api/auth/signin/, Опитвам се да го предам на /api/help/questions/ маршрут за извличане на списъка с въпроси.

GET /api/help/questions/ не работи, защото иска идентификационни данни. Authentication credentials were not provided.

GET /api/help/questions/ с Content-type: application/json и „Разрешениеand the token in the header also saysУдостоверения за удостоверяване не бяха предоставени. "

Мислех, че може би трябва да бъде POST тъй като изпращам идентификационни данни и очаквам въпросите като отговор на сървъра, ако удостоверяването е валидно, но почти едни и същи резултати.

Очевидно не съм най-знаещият по този въпрос, така че всяка помощ ще бъде оценена.

Отговори:

1 за отговор № 1

Поставихте своя маркер в заглавието за упълномощаване? Така че след като влезете, получавате означение и трябва да го поставите вътре в заглавките при заявката за вашия защитен URL адрес по този начин:

Authorization: JWT <your_token>

Ето пример за използване curl:

curl -H "Authorization: JWT <your_token>" http://localhost:8000/protected-url/