Django Rest Framework-React-注销后无法立即登录

时间:2020-06-09 17:07:49

标签: django reactjs react-native django-rest-framework django-allauth

这很奇怪。我有一个反应前端和djangorestframework和django-allauth进行身份验证的django后端。 Postman一切正常。但是在浏览器中,当我成功登录,成功注销然后尝试再次登录时,我收到401未经授权的错误。正确的用户凭据会像第一次成功一样发送到服务器,但会出现401错误。但是,刷新浏览器后,便可以再次正常登录。我使用jwt进行身份验证,并在注销之前将令牌附加到授权标头中。成功注销后,我什至尝试清除授权标头,但无济于事。我的本机前端也有同样的问题。我不知道这是反应还是Django问题。请问有人有什么问题吗?谢谢。

1 个答案:

答案 0 :(得分:0)

问题解决了!我将令牌附加到授权标头中,如下所示:

request.headers ['Authorization'] = Token ${token}

除了注销时,其他所有请求都不需要如上所述设置授权标头。因此,注销后,授权标头变为:

request.headers.Authorization =令牌为空

该令牌的空值将在退出“未经授权”后发出每个请求。因此,要解决此问题,我必须在有令牌的情况下为每个请求设置Authorization标头,然后在没有令牌的情况下从标头对象中删除Authorization,如下所示:

删除request.headers.Authorization