JWT身份验证是否安全?它如何保护CORS?

时间:2015-04-20 04:36:14

标签: node.js jwt express-jwt

我在我的项目中实现了基于tokken的身份验证,而不是基于cookie会话的身份验证。所以,在jwt(jason-web-tokkens)中,每次都是发送req到服务器,我在标题中附加tokken并将其发送到服务器,验证它的秘密用于第一次生成tokkkne并发送给我响应。现在,我对此感到担心,首先将tokken保存在浏览器的本地存储中。尽管tokken已经进行了哈希处理,但如果黑客只是从存储中取出并使用它呢? 有谁能告诉我它是如何阻止CORS攻击的? 我很困惑,在网上找不到任何可靠的答案。

1 个答案:

答案 0 :(得分:2)

通过CORS我认为你指的是XSS攻击?如果是这样,防止XSS的最佳方法是保护您的应用免受不受信任的输入。说起来容易做起来难,这里有一些信息:

https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

防止XSS的更简单方法是将令牌存储在仅安全的HTTP cookie中。这意味着Javascript环境无法触及它,它只会通过安全通道发送。

没有什么是免费的:)如果您将令牌放入cookie中,您还需要设置CSRF预防策略:

https://www.owasp.org/index.php/CSRF_Prevention_Cheat_Sheet

这可能需要很多东西!

我在Stormpath工作,最近我写了一篇博文,内容涵盖了这些主题:Token Based Authentication for Single Page Apps (SPAs)