Я использую Java для генерации токенов JWT, но по какой-то причине моя полезная нагрузка всегда пуста. Я использую библиотеку com.nimbusds.jose вдоль Spring. Там мои настройки:
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
Обратите внимание на две точки в середине токена (In0 .. мГДж), в полезной нагрузке нет содержимого.
* 1015некоторые изменения, например, только со строками (не целыми или длинными), но тот же результат. Кто-нибудь? * * 1016