尽管有很多关于此主题(或密切相关)的帖子,但我没有找到我想要的东西。
正如标题所示,我将Django Rest Framework作为后端,而React作为前端。
现在,我实现了令牌身份验证,并且功能完善。唯一的问题是令牌以React的状态存储,如果用户刷新页面,则他将不再登录(令牌丢失)。
因此,现在我想切换到会话身份验证,因为这样可以解决问题。但这需要我做一些研究,在我去那里之前,我想知道那是否是最佳选择。
我的问题:
我是否需要使用会话身份验证来使用户保持登录状态,即使React的状态发生变化也是如此。还是我也可以通过令牌认证(以安全负责的方式)实现同一目标?
我认为我可以将令牌保存在cookie中,但这对我来说似乎并不安全。
编辑:
后来我意识到,为什么不将令牌存储在会话中?
答案 0 :(得分:0)
SessionAuthentication
将是实现所需目标的最直接方法。 http://www.django-rest-framework.org/api-guide/authentication/#setting-the-authentication-scheme中描述了该配置。这将在浏览器处理的cookie中设置会话ID。
或者,您可以将令牌存储在浏览器的cookie中,但是该令牌容易受到XSS攻击和其他JavaScript攻击。为了提高安全性,您可以将令牌存储在HttpOnly Cookie中。 Cookie将在浏览器关闭的整个选项卡/窗口中保留。
大多数浏览器还内置了cookie处理功能。您的反应状态位于用户区,并且与cookie存储位于不同的内存空间中。
更多信息: