[我一直在阅读Aaron Parecki的基于浏览器的应用程序草案(意为SPA,例如使用React或Angular开发的SPA),使用OAuth 2以及OWASP安全准则进行身份验证最佳实践,这让我感到非常困惑:
- RFC的草案提到了旋转刷新令牌。现在在坚持REST的无状态约束的同时我该怎么做?是否在cookie和刷新令牌中也包含随机字符串的摘要,并检查它们是否相等?
- 在浏览器中存储刷新令牌的正确方法(或更确切地说是一些更安全的方法是什么?我已经检查了okta的JS身份验证库,默认情况下它使用
localStorage
,这是OWASP指南推荐的。它有某种额外的保护吗?我应该在其中添加一些摘要,然后也将其放入Cookie中并与之匹配吗? - OWASP建议会话ID对于客户端应该完全不透明,但是如果我们使用JWT,它是否违反了这一原则?这是否意味着我应该始终使用对称密码来加密我的JWT?
一些参考: