Rik*_*eek 9 authentication django django-rest-framework reactjs
虽然在 SO 上有很多关于这个主题(或密切相关)的帖子,但我没有找到我要找的东西。
正如标题所示,我使用 Django Rest Framework 作为后端,使用 React 作为前端。
现在我实现了令牌认证,它完美地工作。唯一的问题是token是保存在React的状态中的,如果用户刷新页面,他就不再登录了(token丢失了)。
所以,现在我想切换到会话身份验证,因为问题解决了。但这需要我做一些研究,在我去那里之前,我想知道这是否是最佳选择。
我的问题:
我是否需要使用会话身份验证来让用户保持登录状态,即使 React 的状态发生变化。或者我也可以通过令牌认证来实现同样的事情(以安全和负责任的方式?)
我想我可以将令牌保存在 cookie 中,但这对我来说似乎并不安全。
编辑:
后来我意识到,为什么不将令牌存储在会话中?
SessionAuthentication将是实现您想要的最直接的方法。该配置在http://www.django-rest-framework.org/api-guide/authentication/#setting-the-authentication-scheme 中描述。这将在浏览器处理的 cookie 中设置会话 ID。
或者,您可以在浏览器的 cookie 中存储一个令牌,但它容易受到 XSS 攻击和其他 javascript 攻击。为了提高安全性,您可以将令牌存储在HttpOnly cookie 中。cookie 将在浏览器关闭的选项卡/窗口中保留。
还要澄清 cookie 处理内置于大多数浏览器中。您的反应状态在用户空间中,并且与 cookie 存储位于不同的内存空间中。
更多信息:
| 归档时间: |
|
| 查看次数: |
6611 次 |
| 最近记录: |