Я используюJWT подпись не соответствует локально вычисленной подписи
JwtBuilder builder = Jwts.builder()
.setId(user.getEmail())
.signWith(signatureAlgorithm, signingKey);
создать маркер затем
Jwts.parser().setSigningKey(secret).parse(token);
для аутентификации. Когда я запускаю это в тесте JUnit, он работает нормально. Однако, когда я аутентифицирую токен, прошедший как заголовок по вызову REST, аутентификация завершается с помощью SignatureException. Я проверил токен на обоих концах HTTP-вызова, и строка токена идентична. Код для создания/аутентификации статичен, поэтому секрет с каждой стороны. Любые подсказки
Не могли бы вы опубликовать пример токена и секретный ключ? – pedrofb
static Key secret = MacProvider.generateKey(); SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; byte [] apiKeySecretBytes = secret.getEncoded(); Key signatureKey = new SecretKeySpec (apiKeySecretBytes, signatureAlgorithm.getJcaName()); – stanlick