如果没有它可以解密,那么签署jwt有什么意义呢

时间:2014-07-15 12:17:42

标签: node.js security encryption jwt express-jwt

我正在尝试使用jwt,在进行一些研究时,我认为这是JWT DECODER我认为我必须输入令牌和我的密钥来解密令牌。

但我很惊讶看到它只需要令牌来解密它。如果没有秘密密钥可以解密,有什么用呢。令牌中的所有用户数据都将向任何人开放。

我在这里错过了什么吗?

我的另一个问题是jwt如何帮助阻止MITM

由于

1 个答案:

答案 0 :(得分:6)

令牌已签名且编码(未加密),因此无需密钥即可派生原始数据。 signature允许具有公钥的任何人验证令牌,但签名本身只能由持有私钥的实体生成。

由于这些属性,可以检测到对数据的任何更改,并且我们可以可靠地确定谁发出了令牌。这可以防止MITM类型,因为MITM无法访问私钥,因此无法为将通过验证的令牌生成签名。