Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在浏览器中安全地存储JWT?_Javascript_Node.js_Angular_Browser_Jwt - Fatal编程技术网

Javascript 如何在浏览器中安全地存储JWT?

Javascript 如何在浏览器中安全地存储JWT?,javascript,node.js,angular,browser,jwt,Javascript,Node.js,Angular,Browser,Jwt,我用角度10作为前端。我正在从后端服务获取JWT。我需要在浏览器中安全地存储Okta JWT。我研究了如何在window.sessionStorage或window.localStorage或仅HTTP安全cookie中存储令牌。但是,我不知道如何避免XSS和XSRF攻击 安全存储JWT并遵守XSS和XSRF预防的最佳方法是什么 提前感谢客户端保存的数据不可能是“安全的”。没有什么比JsonWebToken实现的过期时间更短了。通过将它们保存在本地存储中,您还可以在需要使用令牌与服务器通信时对它

我用角度10作为前端。我正在从后端服务获取JWT。我需要在浏览器中安全地存储Okta JWT。我研究了如何在window.sessionStorage或window.localStorage或仅HTTP安全cookie中存储令牌。但是,我不知道如何避免XSS和XSRF攻击

安全存储JWT并遵守XSS和XSRF预防的最佳方法是什么


提前感谢

客户端保存的数据不可能是“安全的”。没有什么比JsonWebToken实现的过期时间更短了。通过将它们保存在本地存储中,您还可以在需要使用令牌与服务器通信时对它们进行加密和解密


我建议您阅读George Koniaris的这篇文章。

您无法在浏览器中安全地存储任何内容。只需存储您的JWT。如果你愿意的话,你甚至可以在你的网站上展示它。这没关系,因为您的令牌将在服务器端验证,而不是在浏览器端验证。这是否回答了您的问题?XSS和CSRF攻击与您存储JWT令牌的方式无关。在我的情况下,我将JWT令牌存储在LocalStorage中,我在后端有一个中间件,根据请求,我将验证和验证令牌。您可以使用AES加密令牌并在运行时存储、解密以进行任何服务器端调用