使用Cookie通过JWT进行身份验证以进行授权?

时间:2020-01-15 01:49:32

标签: security cookies jwt

我正在学习JWT流,我发现很多潜在的安全问题(例如XSS)
cf. medium.com/hackernoon/all-you-need-to-know-about-user-session-security

我了解的主要问题是:

  • JWT可能会被盗,存放在任何地方都不好
  • 使JWT失效很复杂,建议每个请求使用一个JWT或有效期短(如果被盗,影响较小)

为什么不使用cookie进行身份验证(会话存储在服务器中),而不使用JWT进行授权?
客户端发送cookie + JWT,服务器确保客户端是JWT的正确所有者。

  • 可以为会话存储中存储的每个用户使用唯一的秘密对JWT进行签名/解码

如果密码更改(在会话存储中修改机密)或注销(在浏览器中删除cookie)或硬注销(在服务器中的会话删除),则更容易使之失效。

主要缺点是请求大小更大(客户端发送cookie + JWT),并且您维护了会话存储,但是JWT似乎不能以任何方式用于会话。

我是新手,但似乎可以解决这个问题,而且我找不到有关此方面的信息或评论。

对不起,我的英语?

0 个答案:

没有答案