使用 Django-rest-auth 在 Django Restframework 中进行令牌身份验证
Token Authentication In Django Restframework Using Django-rest-auth
我在 Django-restframework 上制作的应用程序的前端使用 vue.js。我正在通过 Google.
使用 django-rest-auth 进行社交身份验证
在前端,我使用的是 vue-google-oauth2 库。两者工作正常。我从前端发送一个授权码,后端用令牌密钥响应。但是,当我在我的终端上使用 curl 键
curl -X GET http://127.0.0.1:8000/api/example/ -H 'Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b'
我收到错误:
{"detail":"Authentication credentials were not provided."}
我的终端显示:
[06/Mar/2019 15:38:54] "GET /newsfeed/ HTTP/1.1" 401 58
我应该怎么做才能确保 cookie 或后端用于维护我的会话的任何内容不会丢失?
同样,当我使用oauth2库在前端登录时,我刷新了我的页面,这也显示我不再登录了。
我到底错过了什么?
看起来第一个身份验证 class 设置为基本身份验证。确保为该视图激活令牌库身份验证作为第一次身份验证 class。或者您可以在 setting.py.
中全局设置身份验证 class
如果您使用的是 class 基本视图。这样做
class AccountDetailsView(RetrieveAPIView):
authentication_classes = [TokenAuthentication,BasicAuthentication]
serializer_class = AccountDetails
permission_classes = [IsAuthenticated, ]
我在 Django-restframework 上制作的应用程序的前端使用 vue.js。我正在通过 Google.
使用 django-rest-auth 进行社交身份验证在前端,我使用的是 vue-google-oauth2 库。两者工作正常。我从前端发送一个授权码,后端用令牌密钥响应。但是,当我在我的终端上使用 curl 键
curl -X GET http://127.0.0.1:8000/api/example/ -H 'Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b'
我收到错误:
{"detail":"Authentication credentials were not provided."}
我的终端显示:
[06/Mar/2019 15:38:54] "GET /newsfeed/ HTTP/1.1" 401 58
我应该怎么做才能确保 cookie 或后端用于维护我的会话的任何内容不会丢失?
同样,当我使用oauth2库在前端登录时,我刷新了我的页面,这也显示我不再登录了。
我到底错过了什么?
看起来第一个身份验证 class 设置为基本身份验证。确保为该视图激活令牌库身份验证作为第一次身份验证 class。或者您可以在 setting.py.
中全局设置身份验证 class如果您使用的是 class 基本视图。这样做
class AccountDetailsView(RetrieveAPIView):
authentication_classes = [TokenAuthentication,BasicAuthentication]
serializer_class = AccountDetails
permission_classes = [IsAuthenticated, ]