我正在为前端Reactjs和后端SpringBoot(REST)创建一个应用程序。
我想使用JWT令牌来提高安全性。由于窃取JWT刷新令牌的安全问题可能意味着,我想问你以下场景是否有效:
后端
前端
现在,在每个来自前端的请求中,我都将对两个令牌(access-JWT in header和refresh-JWT as cookie)进行说明。如果它们具有相同的唯一UUID,我会检查它们。如果他们这样做,我将继续他们的验证过程。
这样做我正在努力消除XSS和CSRF攻击,假设这些攻击不会同时进行。因此,如果访问-JWT被盗,攻击者将无法刷新-JWT,反之亦然。
请分享您的想法。谢谢。
答案 0 :(得分:0)
您应该避免发明自己的身份验证/会话管理方案,因为微小的细节可能会破坏整个系统的安全性。
引自Auth0' Which OAuth 2.0 flow should I use?
此外,应该注意隐式授权不返回刷新令牌,因为浏览器无法将其保密(请参阅SPA和刷新令牌面板以获取解决方法)。
我建议使用标准的OpenID Connect(或OAuth 2.0)流程 - 在您的情况下使用隐式流程。