我阅读了关于在https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html上保护基于JWT的服务的信息。在本指南中,它告诉我们如何在客户端处理JWT令牌
由浏览器自动发送(Cookie存储)。
如何预防
使用浏览器sessionStorage容器存储令牌。添加
调用时作为带有JavaScript的Bearer HTTP Authentication标头
服务。
将指纹信息添加到令牌。通过存储
浏览器sessionStorage容器中的令牌,它将令牌公开给
通过XSS攻击被盗。但是,指纹已添加到
令牌可防止攻击者在其令牌上重复使用被盗令牌
机。为
关闭最多的开采表面
攻击者,添加浏览器内容安全策略以强化
执行上下文。
OWASP提供的解决方案限制
问题是,如果用户在同一浏览器的另一个选项卡中输入相同的URL,则不应向他显示登录页面,而应将其定向到主屏幕而无需任何登录过程。解决这个问题。我遵循以下方法。顺便说一句,我正在使用刷新令牌来支持滑动会话
那么,这种方法安全可靠吗?由于适用了针对令牌劫持的对策。我应该担心将访问令牌存储在非httponly cookie中吗?
注意:之所以我不在内存中的JavaScript变量中同时存储访问令牌和刷新令牌,是因为这些令牌需要在同一域中托管的多个应用程序之间共享。