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