403 «подробно»: «Учетные данные для аутентификации не предоставлены».Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 403 «подробно»: «Учетные данные для аутентификации не предоставлены».

Сообщение Anonymous »


У меня задание создать проект API. Мне нужно создать:

Конечная точка: /api/users/users/me/
Роль: Любой, у кого есть действительный токен пользователя
Метод: ПОЛУЧИТЬ Цель: отображает только текущего пользователя

При тестировании конечной точки API Insomnia и Curl возвращают один и тот же ответ:

403 «detail»: «Учетные данные для аутентификации не предоставлены».

Пожалуйста, помогите!

Я пробовал два метода:

Джосер:
Используя Djoser, мне удалось создать пользователя и сгенерировать токен аутентификации. Я также вручную создал токен в панели администратора Django для нескольких пользователей, включая суперпользователя. Я отправил запрос Get на конечную точку Djoser http://127.0.0.1:8000/auth/users/me/, используя Insomnia и Curl. В Insomnia я выбрал токен на предъявителя и ввел действительный токен.

Пользовательский вид: Конечная точка: /api/users/users/me/
Я создал собственное представление, но ответ все тот же.

Settings.py (скопированная часть файла настроек)

INSTALLED_APPS = [ 'django.contrib.admin', 'джанго.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', «ЛитлЛемонAPI», 'rest_framework', 'джосер', 'rest_framework.authtoken', ] ПРОМЕЖУТОЧНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ДЖОСЕР = { "USER_ID_FIELD" :"имя пользователя" } REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': [ 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ], 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.TokenAuthentication', 'rest_framework.authentication.SessionAuthentication', ), 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.IsAuthenticated', 'rest_framework.permissions.DjangoModelPermissions', ], } urls.py уровня проекта

от администратора импорта django.contrib из пути импорта django.urls включите URL-паттерны = [ путь('admin/', admin.site.urls), путь('api/', include('LittleLemonAPI.urls')), путь('auth/', include('djoser.urls')), путь('auth/', include('djoser.urls.authtoken')), ] Views.py

из рендеринга импорта django.shortcuts из django.contrib.auth.models импортировать пользователя из дженериков импорта rest_framework, разрешения из .serializers импортировать CurrentUserSerializer класс CurrentUserView(generics.RetriveAPIView): Permission_classes = [permissions.IsAuthenticated] сериализатор_класс = Текущийсерийный_пользователь защита get_object (сам): # Возвращаем текущий экземпляр пользователя вернуть self.request.user urls.py уровня приложения

из пути импорта django.urls из .views импортировать CurrentUserView URL-паттерны = [ path('users/users/me/', CurrentUserView.as_view(), name='current-user'), ] serializers.py
rom django.contrib.auth.models импортировать пользователя из сериализаторов импорта rest_framework класс CurrentUserSerializer(serializers.ModelSerializer): класс Мета: модель = Пользователь поля = ('id', 'имя пользователя', 'электронная почта')
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»