com.nimbusds.jose加密返回空有效负载

时间:2019-11-20 17:49:41

标签: spring spring-mvc spring-security jwt nimbus

我正在使用Java生成JWT令牌,但是由于某些原因,我的有效载荷始终为空。我在Spring期间使用 com.nimbusds.jose 库。有我的设置:

JWEHeader header = new JWEHeader(JWEAlgorithm.DIR, EncryptionMethod.A128CBC_HS256);
JWTClaimsSet claims = new JWTClaimsSet.Builder()
        .claim("username", "myuser")
        .claim("id", 1)
        .build();
Payload payload = new Payload(claims.toJSONObject());
JWEObject jweObject = new JWEObject(header, payload);
JWEEncrypter encrypter = new DirectEncrypter("my_jwt_secret"); // not this one of course 
jweObject.encrypt(encrypter);

所以这里没有什么花哨的地方,只是一个简单的设置,但是所有生成的令牌都有一个空的有效负载,就像这样:

  

eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..mHJC0QrvJlcL4R0fRoQzvA.xIrPqpnz5XVSyF20FBe11A.EFZ9ZWCs6uXvvj341EaRig

请注意令牌中间的2个点(In0 .. mHJ),有效负载中没有内容。

已经尝试了一些更改,例如仅使用字符串(而不是int或longs)但结果相同。 有人吗?

0 个答案:

没有答案