nimbus-jose-jwt库简单使用
maven坐标
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>9.37.3</version>
</dependency>
对称密钥签名
密钥长度有限制。需大于等于 对应算法所需的密钥长度。
256 / 8
354 / 8
512 / 8
String macKey = "d^d&4mpSz^Pd@JyKYQR=AZhm7PQzQKgsSY*";
JWSSigner signer = new MACSigner(macKey);
JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
.subject("zs")
.claim("role", "admin")
.build();
SignedJWT signedJWT = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claimsSet);
signedJWT.sign(signer);
String jwtString = signedJWT.serialize();
System.out.println("Generated JWT: " + jwtString);
JWSVerifier verifier = new MACVerifier(macKey);
SignedJWT parsedJWT