Невозможно аутентифицировать пользователя в Django rest framework
Я пытаюсь получить данные аутентифицированного пользователя, используя токен, Я использую postman для отправки запроса get и получения нужных мне данных, но получаю ответ
"detail": "Учетные данные для аутентификации не были предоставлены."
это вид `
class ReceiveMessagesView(viewsets.ModelViewSet):
serializer_class = MessageSerializer
permission_classes = [permissions.IsAuthenticated]
http_method_names = ['get', 'post']
def get_queryset(self):
user = self.request.user
queryset = Message.objects.filter(receiver=user)
return queryset`
настройки
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}
В запросе postman я отправляю в авторизации ключ как "Token" и значение как токен пользователя, о котором я хочу получить данные
Я пытаюсь отправить авторизованный запрос get и получил данные авторизованного пользователя
Установите ключ:значение в HEADER HTTP-запроса. Вам нужен только действительный токен:
KEY: Authorization
VALUE: Token yourtokenvalue
Если вы пытаетесь аутентифицироваться с помощью Token authentication, используя POSTMAN, вам нужно передать только 'rest_framework.authentication.TokenAuthentication'
, в DEFAULT_AUTHENTICATION_CLASSES
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
}