我正在尝试使用jwt,在进行一些研究时,我认为这是JWT DECODER我认为我必须输入令牌和我的密钥来解密令牌。
但我很惊讶看到它只需要令牌来解密它。如果没有秘密密钥可以解密,有什么用呢。令牌中的所有用户数据都将向任何人开放。
我在这里错过了什么吗?
我的另一个问题是jwt如何帮助阻止MITM
由于
答案 0 :(得分:6)
令牌已签名且编码(未加密),因此无需密钥即可派生原始数据。 signature允许具有公钥的任何人验证令牌,但签名本身只能由持有私钥的实体生成。
由于这些属性,可以检测到对数据的任何更改,并且我们可以可靠地确定谁发出了令牌。这可以防止MITM类型,因为MITM无法访问私钥,因此无法为将通过验证的令牌生成签名。