JWT 标记化让我发疯,或者我用错了。
为了测试并从“jjwt”开始,我正在创建一个简单的 jwt 令牌,下面是代码。
static String createSimpleJWT() {
String id, issuer, subject;
id="id";
issuer="issuer";
subject="subject";
//Let's set the JWT Claims
JwtBuilder builder = Jwts.builder().setId(id)
.setSubject(subject)
.setIssuer(issuer)
.signWith(SignatureAlgorithm.HS256, "signingKey"); //plz note signing key on this line
return builder.compact();
}
jwt 令牌是
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJpZCIsInN1YiI6InN1YmplY3QiLCJpc3MiOiJpc3N1ZXIifQ._7QGamE-HvREDMJIgbfKEIRv76ZaxwIx2t3RaViSYzth4
正如预期的那样,在随后的执行中,我也得到了相同的 JWT。
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJpZCIsInN1YiI6InN1YmplY3QiLCJpc3MiOiJpc3N1ZXIifQ._7QGE-HvREDMJIgbfKEIRv76ZaxwIx2t3RaViSYzth4
我正在使用 jwt.io 对其进行解码以进行测试-但很惊讶地看到 jwt 令牌被标记为无效签名,尽管在解码部分提供了正确的签名密钥。
这是 jwt.io 截图 - jwt.io-invalidsignature
任何指针......它在哪里变得混乱。
这篇文章不同于之前询问的用户忘记或不知道向 jwt.io 提供签名密钥的地方
PHP JWT 令牌无效签名
JWT 令牌无效签名