Вот мой Java код, который генерирует токены:
личное состояние c final GzipCompressionCode c COMPRESSION_CODE C = новый GzipCompressionCode c ();
private String issuer;
private int expirationSec;
private int clockSkewSec;
private String secretKey;
//constructor, some other methods
public String createToken(final Map<String, String> attributes) {
Date now = new Date();
Date exp = new Date(System.currentTimeMillis() + (1000 * expirationSec));
Claims claims = Jwts.claims();
claims.putAll(attributes);
return Jwts
.builder()
.setClaims(claims)
.setIssuer(issuer)
.signWith(HS256, secretKey)
.compressWith(COMPRESSION_CODEC)
.setIssuedAt(now)
.setExpiration(exp)
.compact();
}
Я могу без проблем декодировать этот токен в Java, но когда я пытаюсь декодировать его с помощью https://jwt.io, я получаю сообщение об ошибке «Недопустимая подпись». Мне нужно извлечь дату окончания срока действия токена. Я также пытался сгенерировать токен без сжатия, но также не удалось.