JWT signature ne correspond pas localement calculée signature

Je suis en utilisant

JwtBuilder builder = Jwts.builder()
                    .setId(user.getEmail())
                    .signWith(signatureAlgorithm, signingKey);

créer un jeton puis

Jwts.parser().setSigningKey(secret).parse(token);

pour s'authentifier. Lorsque je l'exécute dans un test Unitaire, il fonctionne très bien. Cependant, quand je authentifier jeton passé comme un en-tête sur appel RESTE, l'authentification échoue avec SignatureException. J'ai vérifié le jeton sur les deux extrémités de l'appel HTTP et la chaîne de jeton est identique. Code pour créer et/ou authentifier est statique, donc, le secret est de même de chaque côté.

  • Pourriez-vous poster un exemple de jeton et la clé secrète?
  • statique de la Clé secrète = MacProvider.generateKey(); SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; byte[] apiKeySecretBytes = secret.getEncoded(); Clé signingKey = new SecretKeySpec(apiKeySecretBytes, signatureAlgorithm.getJcaName());
InformationsquelleAutor stanlick | 2017-02-22