JwtBuilder builder = Jwts.builder()
.setId(user.getEmail())
.signWith(signatureAlgorithm, signingKey);
创建一个令牌,然后
Jwts.parser().setSigningKey(secret).parse(token);
进行身份验证。当我在JUnit测试中运行它时,它工作正常。但是,当我通过REST调用将标记传递为标头时,身份验证会因SignatureException而失败。我已经验证了HTTP调用两端的令牌,并且令牌字符串是相同的。创建/验证的代码是静态的,因此每个方面的秘密都是一样的。任何线索
加载难道您发布令牌的例子和密钥? – pedrofb
static key = MacProvider.generateKey(); SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.HS256; byte [] apiKeySecretBytes = secret.getEncoded(); Key signingKey = new SecretKeySpec(apiKeySecretBytes,signatureAlgorithm.getJcaName()); – stanlick