在没有秘密的情况下解码JWT令牌

在没有秘密的情况下解码JWT令牌,jwt,Jwt,我用JWT的私钥创建了一个令牌,但是当我尝试对它进行解码时,我发现该令牌可以在不提供任何密钥的情况下进行解码。那么JWT令牌只是一个签名是否正确?如何防止令牌在没有密钥的情况下被解码?JWT可以通过两种方式使用公钥/私钥:签名和加密 如果您使用私钥进行签名,它允许收件人识别JWT的发件人以及邮件的完整性,但不会对其他人隐藏其内容(机密性)。注意,它将是发送方的私钥,用于对JWT进行签名并生成JSON Web签名(JWS)对象。显然,这适用于您正在查看的JWT 当使用公钥进行加密时,它可用于对除预

我用JWT的私钥创建了一个令牌,但是当我尝试对它进行解码时,我发现该令牌可以在不提供任何密钥的情况下进行解码。那么JWT令牌只是一个签名是否正确?如何防止令牌在没有密钥的情况下被解码?

JWT可以通过两种方式使用公钥/私钥:签名和加密

如果您使用私钥进行签名,它允许收件人识别JWT的发件人以及邮件的完整性,但不会对其他人隐藏其内容(机密性)。注意,它将是发送方的私钥,用于对JWT进行签名并生成JSON Web签名(JWS)对象。显然,这适用于您正在查看的JWT

当使用公钥进行加密时,它可用于对除预期收件人以外的任何人隐藏内容。结果是一个JSON Web加密对象。请注意,用于加密JWT的将是收件人的公钥。显然这就是你要找的


请参阅:

搜索
JWE
JSON Web Encryption
),这是一种以加密方式表示JWT的方法。