JavaDoc signWith(SignatureAlgorithm var1, String var2) :
JwtBuilder signWith(SignatureAlgorithm alg, String base64EncodedSecretKey);
, , Base64. , , . JJWT Base64, , Base64, , .
JWT JWA , HMAC , .
, :
| If you're signing with: | your key (byte array) length MUST be: |
|
| HMAC SHA 256 | >= 256 bits (32 bytes) |
| HMAC SHA 384 | >= 384 bits (48 bytes) |
| HMAC SHA 512 | >= 512 bits (64 bytes) |
- JWT - , , . , secret ( , !).
, , JJWT , , io.jsonwebtoken.impl.crypto.MacProvider.
generateKey, , , HMAC. :
MacProvider.generateKey(SignatureAlgorithm.HS256);
MacProvider.generateKey(SignatureAlgorithm.HS384);
MacProvider.generateKey();
String, , , Base64:
SecretKey key = MacProvider.generateKey();
byte[] keyBytes = key.getEncoded();
String base64Encoded = TextCodec.BASE64.encode(keyBytes);
: base64Encoded -. Base64 - . , ( ..).
, JWS, base64Encoded, JJWT , base64 , , :
Jwts.builder()
.signWith(SignatureAlgorithm.HS512, base64Encoded)
.compact();