目标:在使用JWT时,我需要保护cookie并减轻客户端中的XSS攻击向量。
我知道客户端中的JavaScriptDocument.cookie API无法访问具有HttpOnly属性的cookie。服务器可以访问cookie以进行会话管理(运输车、游戏分数等(、个性化和用户行为跟踪,但JavaScript代码无法再读取和写入客户端中的cookie。参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
问题:如果我能够启用HttpOnly,那么加密JWT(JWE(有什么实际的好处吗?我看到JWT的加密在https://www.rfc-editor.org/rfc/rfc7516.
不过,我没有看到任何帖子表明JWE是一个切实可行的选择。
在我探索JWE在生产中的部署之前,我将感谢您的真知灼见。
一个潜在的好处是,如果JWT是加密的,客户端将无法手动查看和调整它。即使没有任何恶意脚本在运行,也可能仍然有一些好奇的用户知道如何打开开发人员控制台并更改内容-看看他们可以破坏什么,或者获得不应该破坏的权限,或者只是为了好玩。如果JWT是加密的,只有服务器上的你才能解密它,这会让事情变得更容易,因为客户端无法在不完全破坏负载的情况下更改负载(除非他们在某个地方保存或找到了另一个JWT(。