我将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'
我得到了错误:
{“详细信息”:“未提供身份验证凭据。”}
我的终端显示为:
[06 / Mar / 2019 15:38:54]“ GET / newsfeed / HTTP / 1.1” 401 58
我应该怎么做才能确保cookie或后端维护我的会话的任何东西都不会丢失?
类似地,当我使用oauth2库在前端登录时,我刷新了页面,这也表明我不再登录。
我到底错过了什么?
答案 0 :(得分:1)
看起来第一个身份验证类设置为基本身份验证。确保您将该视图的令牌库身份验证激活为第一身份验证类。或者您可以在setting.py中全局设置身份验证类。
如果您正在使用类基础视图。这样做
class AccountDetailsView(RetrieveAPIView):
authentication_classes = [TokenAuthentication,BasicAuthentication]
serializer_class = AccountDetails
permission_classes = [IsAuthenticated, ]