【发布时间】:2021-02-19 20:18:11
【问题描述】:
我使用django rest框架和react js环境为我的项目存储jwt令牌本地存储,cookie不安全所以我决定保存httponly cookie,我如何实现身份验证
如何在http header中传递token
【问题讨论】:
标签: reactjs django django-rest-framework django-react
我使用django rest框架和react js环境为我的项目存储jwt令牌本地存储,cookie不安全所以我决定保存httponly cookie,我如何实现身份验证
如何在http header中传递token
【问题讨论】:
标签: reactjs django django-rest-framework django-react
以下文字来自我的文章React and Token-based Authentications with Django REST API Backend,是complete tutorial on how to build SaaS with Django and React from scratch的一部分。
互联网上有很多关于如何将auth_token 存储在网站中以确保安全的讨论:
这是我的看法。
localStorage 的值。确实如此。如果我们在带有httpOnly 设置的cookie 中设置了令牌,那么在XSS 的情况下它们将无法被读取。也是真的。这是否意味着带有httpOnly 的cookie 比localStorage 更好?不能这么说。dangerouslySetInnerHTML 明确要求时,它才会呈现原始 HTML。localStorage 中读取token,但他能用它做什么呢?他可以将其发送到他的服务器或将其用于恶意请求。我们可以使用内容安全策略 (CSP) 保护应用程序不加载来自未知来源的未知脚本(当然我会在以后的帖子中写到)。localStorage 和 cookies。httpOnly 的cookie,则可以从其他来源(跨站点请求伪造)进行恶意请求。此类攻击不适用于localStorage。请注意,如果您使用基于令牌的身份验证,则 DRF 中会禁用 CSRF cookie。 CSRF cookie 仅在基于会话的身份验证的情况下启用。所以如果你还想使用httpOnly cookie,请记得使用CSRF cookie(否则有可能被CSRF攻击!)。
【讨论】: