Как выйти из Djoser (устанавливается с Django Rest Framework)

Я установил Djoser с Django Rest Framework, после входа в систему как (url: / token / login) я получаю токен, но когда я меняю URL-адрес на '/ token / logout /', он показывает ошибку, поскольку учетные данные для ведения журнала не предоставлены.

Я использую раздел URL-адресов браузера для взаимодействия с DRF.

Пожалуйста, посоветуйте мне правильный URL для выхода? Я могу предоставить токен, имя пользователя и пароль.


person Anoop K George    schedule 26.03.2020    source источник


Ответы (3)


Я тоже зациклился на этом. Что сработало для меня, так это передать токен как обычно через заголовок аутентификации И передать его как данные json.

export const logout = (token) => {
 return url
  .post('api/auth/token/logout/', token,
   {
     headers: {
       Authorization: `Token ${token}`
     }
   })
 .then(res => res.data)
 }
person Daniel McKinney    schedule 06.05.2021
comment
В самом деле, нам тоже нужно передавать это через данные. - person Aurélien; 19.05.2021

У тебя есть что-то подобное

#urls.py
from django.contrib.auth import views as auth_views

path('logout/', auth_views.LogoutView.as_view(), name='logout'),
person Prabu Reddy    schedule 27.03.2020
comment
Спасибо, но это не сработало, следующее сообщение об ошибке: HTTP 401 Unauthorized Allow: POST, OPTIONS Content-Type: application / json Vary: Accept WWW-Authenticate: Basic realm = api {detail: Учетные данные для аутентификации не были предоставлены. } - person Anoop K George; 27.03.2020

Вам необходимо включить токен авторизации с вашим запросом POST в URL-адрес выхода.

person Nicholas L.    schedule 06.08.2020
comment
Попробуйте добавить это как комментарий или постарайтесь уточнить свой ответ. - person Deepak Kumar; 06.08.2020