Проверка подлинности токена в Django Restframework с использованием Django-rest-auth - PullRequest
1 голос
/ 06 марта 2019

Я использую vue.js для внешнего интерфейса моего приложения, которое сделано на Django-restframework.Я использую django-rest-auth для социальной аутентификации через Google.

На внешнем интерфейсе я использую библиотеку vue-google-oauth2.Два отлично работают.Я отправляю код авторизации из внешнего интерфейса, а бэкэнд отвечает ключом токена.Однако, когда я использую curl на своем терминале с ключом

curl -X GET http://127.0.0.1:8000/api/example/ -H 'Авторизация: токен 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b'

я получаюошибка:

{"detail": "Учетные данные для аутентификации не были предоставлены."}

Когда на моем терминале отображается:

[06 / Mar / 2019 15:38:54] "GET / newsfeed / HTTP / 1.1" 401 58

Что я должен делать, чтобы гарантировать, что куки или что-то ещебэкэнд для поддержки моего сеанса не потерян?

Точно так же, когда я вхожу в интерфейс с помощью библиотеки oauth2, я обновляю свою страницу, и это также показывает, что я больше не вошел в систему.

Что именно я пропускаю?

1 Ответ

1 голос
/ 06 марта 2019

похоже, что 1-й класс аутентификации установлен на базовую аутентификацию.убедитесь, что вы активировали аутентификацию на основе токенов для этого представления как первый класс аутентификации.или вы можете установить класс аутентификации глобально в setting.py.

, если вы используете базовое представление класса.сделай так

class AccountDetailsView(RetrieveAPIView):
    authentication_classes = [TokenAuthentication,BasicAuthentication]
    serializer_class = AccountDetails
    permission_classes = [IsAuthenticated, ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...