依赖Cookie或令牌时必须使用https吗

时间:2018-08-15 18:25:14

标签: jwt

我正在遍历各种javascript / auth教程-我了解加盐密码并将其存储在数据库中,使用Passport,生成令牌并将其存储在请求标头中,等等。总的来说,我了解了整个流程- -用于注册和登录。但是我不确定为什么在任何教程中都没有提到以下内容:如果我可以查看网络上的http流量,我不能窃取别人的令牌并“假冒”该用户吗?我将无法解密令牌,因为我没有用于生成令牌的“秘密短语”,但是我可以肯定地“按原样”使用它吗? 那么,令牌和https在一起吗?我对通过令牌进行用户模拟的理解正确吗?谢谢

1 个答案:

答案 0 :(得分:1)

作为拦截JWT的人,您...

  • ... 能够“解密” JWT,因为它未加密。它只有Base 64编码,
  • 如果使用非对称方案并且您知道公钥,则
  • ... 可以验证签名
  • ... 可以使用JWT来模拟用户,
  • ... 不能更改JWT中的声明,因为这样签名将不再有效,服务器会注意到。

是的,请使用HTTPS。

在服务器端也不仅仅依赖于JWT。检查...

  • ...它不在被撤消令牌的黑名单上(您有这样的列表,对吗?)
  • ...请求来自JWT中声明的网络地址(您包括发出JWT的网络地址,对吗?