public interface JwtBuilder extends ClaimsMutator<JwtBuilder>
| Modifier and Type | Method and Description |
|---|---|
JwtBuilder |
claim(String name,
Object value)
Sets a custom JWT Claims parameter value.
|
String |
compact()
Actually builds the JWT and serializes it to a compact, URL-safe string according to the
JWT Compact Serialization
rules.
|
JwtBuilder |
compressWith(CompressionCodec codec)
Compresses the JWT body using the specified
CompressionCodec. |
JwtBuilder |
setAudience(String aud)
Sets the JWT Claims
aud (audience) value. |
JwtBuilder |
setClaims(Claims claims)
Sets the JWT payload to be a JSON Claims instance.
|
JwtBuilder |
setClaims(Map<String,Object> claims)
Sets the JWT payload to be a JSON Claims instance populated by the specified name/value pairs.
|
JwtBuilder |
setExpiration(Date exp)
Sets the JWT Claims
exp (expiration) value. |
JwtBuilder |
setHeader(Header header)
Sets (and replaces) any existing header with the specified header.
|
JwtBuilder |
setHeader(Map<String,Object> header)
Sets (and replaces) any existing header with the specified header.
|
JwtBuilder |
setHeaderParam(String name,
Object value)
Applies the specified name/value pair to the header.
|
JwtBuilder |
setHeaderParams(Map<String,Object> params)
Applies the specified name/value pairs to the header.
|
JwtBuilder |
setId(String jti)
Sets the JWT Claims
jti (JWT ID) value. |
JwtBuilder |
setIssuedAt(Date iat)
Sets the JWT Claims
iat (issued at) value. |
JwtBuilder |
setIssuer(String iss)
Sets the JWT Claims
iss (issuer) value. |
JwtBuilder |
setNotBefore(Date nbf)
Sets the JWT Claims
nbf (not before) value. |
JwtBuilder |
setPayload(String payload)
Sets the JWT's payload to be a plaintext (non-JSON) string.
|
JwtBuilder |
setSubject(String sub)
Sets the JWT Claims
sub (subject) value. |
JwtBuilder |
signWith(SignatureAlgorithm alg,
byte[] secretKey)
Signs the constructed JWT using the specified algorithm with the specified key, producing a JWS.
|
JwtBuilder |
signWith(SignatureAlgorithm alg,
Key key)
Signs the constructed JWT using the specified algorithm with the specified key, producing a JWS.
|
JwtBuilder |
signWith(SignatureAlgorithm alg,
String base64EncodedSecretKey)
Signs the constructed JWT using the specified algorithm with the specified key, producing a JWS.
|
JwtBuilder setHeader(Header header)
setHeaderParams(java.util.Map) method instead.header - the header to set (and potentially replace any existing header).JwtBuilder setHeader(Map<String,Object> header)
setHeaderParams(java.util.Map) method instead.header - the header to set (and potentially replace any existing header).JwtBuilder setHeaderParams(Map<String,Object> params)
params - the header name/value pairs to append to the header.JwtBuilder setHeaderParam(String name, Object value)
name - the header parameter namevalue - the header parameter valueJwtBuilder setPayload(String payload)
setClaims(Claims) or setClaims(java.util.Map) methods instead.
The payload and claims properties are mutually exclusive - only one of the two may be used.
payload - the plaintext (non-JSON) string that will be the body of the JWT.JwtBuilder setClaims(Claims claims)
setPayload(String) method instead.
The payload and claims properties are mutually exclusive - only one of the two may be used.
claims - the JWT claims to be set as the JWT body.JwtBuilder setClaims(Map<String,Object> claims)
setPayload(String)
method instead.
The payload* and claims* properties are mutually exclusive - only one of the two may be used.
claims - the JWT claims to be set as the JWT body.JwtBuilder setIssuer(String iss)
iss (issuer) value. A null value will remove the property from the Claims.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims issuer field with the specified value. This allows you to write
code like this:
String jwt = Jwts.builder().setIssuer("Joe").compact();
instead of this:
Claims claims = Jwts.claims().setIssuer("Joe");
String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setIssuer in interface ClaimsMutator<JwtBuilder>iss - the JWT iss value or null to remove the property from the Claims map.JwtBuilder setSubject(String sub)
sub (subject) value. A null value will remove the property from the Claims.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims subject field with the specified value. This allows you to write
code like this:
String jwt = Jwts.builder().setSubject("Me").compact();
instead of this:
Claims claims = Jwts.claims().setSubject("Me");
String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setSubject in interface ClaimsMutator<JwtBuilder>sub - the JWT sub value or null to remove the property from the Claims map.JwtBuilder setAudience(String aud)
aud (audience) value. A null value will remove the property from the Claims.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims audience field with the specified value. This allows you to write
code like this:
String jwt = Jwts.builder().setAudience("You").compact();
instead of this:
Claims claims = Jwts.claims().setSubject("You");
String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setAudience in interface ClaimsMutator<JwtBuilder>aud - the JWT aud value or null to remove the property from the Claims map.JwtBuilder setExpiration(Date exp)
exp (expiration) value. A null value will remove the property from the Claims.
A JWT obtained after this timestamp should not be used.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims expiration field with the specified value. This allows
you to write code like this:
String jwt = Jwts.builder().setExpiration(new Date(System.currentTimeMillis() + 3600000)).compact();
instead of this:
Claims claims = Jwts.claims().setExpiration(new Date(System.currentTimeMillis() + 3600000)); String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setExpiration in interface ClaimsMutator<JwtBuilder>exp - the JWT exp value or null to remove the property from the Claims map.JwtBuilder setNotBefore(Date nbf)
nbf (not before) value. A null value will remove the property from the Claims.
A JWT obtained before this timestamp should not be used.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims notBefore field with the specified value. This allows
you to write code like this:
String jwt = Jwts.builder().setNotBefore(new Date()).compact();
instead of this:
Claims claims = Jwts.claims().setNotBefore(new Date()); String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setNotBefore in interface ClaimsMutator<JwtBuilder>nbf - the JWT nbf value or null to remove the property from the Claims map.JwtBuilder setIssuedAt(Date iat)
iat (issued at) value. A null value will remove the property from the Claims.
The value is the timestamp when the JWT was created.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims issuedAt field with the specified value. This allows
you to write code like this:
String jwt = Jwts.builder().setIssuedAt(new Date()).compact();
instead of this:
Claims claims = Jwts.claims().setIssuedAt(new Date()); String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setIssuedAt in interface ClaimsMutator<JwtBuilder>iat - the JWT iat value or null to remove the property from the Claims map.JwtBuilder setId(String jti)
jti (JWT ID) value. A null value will remove the property from the Claims.
The value is a CaSe-SenSiTiVe unique identifier for the JWT. If specified, this value MUST be assigned in a manner that ensures that there is a negligible probability that the same value will be accidentally assigned to a different data object. The ID can be used to prevent the JWT from being replayed.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set
the Claims id field with the specified value. This allows
you to write code like this:
String jwt = Jwts.builder().setId(UUID.randomUUID().toString()).compact();
instead of this:
Claims claims = Jwts.claims().setIssuedAt(UUID.randomUUID().toString()); String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
setId in interface ClaimsMutator<JwtBuilder>jti - the JWT jti (id) value or null to remove the property from the Claims map.JwtBuilder claim(String name, Object value)
null value will remove the property from the Claims.
This is a convenience method. It will first ensure a Claims instance exists as the JWT body and then set the
named property on the Claims instance using the Claims put method. This allows
you to write code like this:
String jwt = Jwts.builder().claim("aName", "aValue").compact();
instead of this:
Claims claims = Jwts.claims().put("aName", "aValue");
String jwt = Jwts.builder().setClaims(claims).compact();
if desired.
name - the JWT Claims property namevalue - the value to set for the specified Claims property nameJwtBuilder signWith(SignatureAlgorithm alg, byte[] secretKey)
alg - the JWS algorithm to use to digitally sign the JWT, thereby producing a JWS.secretKey - the algorithm-specific signing key to use to digitally sign the JWT.JwtBuilder signWith(SignatureAlgorithm alg, String base64EncodedSecretKey)
This is a convenience method: the string argument is first BASE64-decoded to a byte array and this resulting
byte array is used to invoke signWith(SignatureAlgorithm, byte[]).
alg - the JWS algorithm to use to digitally sign the JWT, thereby producing a JWS.base64EncodedSecretKey - the BASE64-encoded algorithm-specific signing key to use to digitally sign the
JWT.JwtBuilder signWith(SignatureAlgorithm alg, Key key)
alg - the JWS algorithm to use to digitally sign the JWT, thereby producing a JWS.key - the algorithm-specific signing key to use to digitally sign the JWT.JwtBuilder compressWith(CompressionCodec codec)
CompressionCodec.
If your compact JWTs are large, and you want to reduce their total size during network transmission, this can be useful. For example, when embedding JWTs in URLs, some browsers may not support URLs longer than a certain length. Using compression can help ensure the compact JWT fits within that length. However, NOTE:
WARNING: Compression is not defined by the JWT Specification, and it is not expected that other libraries (including JJWT versions < 0.6.0) are able to consume a compressed JWT body correctly. Only use this method if you are sure that you will consume the JWT with JJWT >= 0.6.0 or another library that you know implements the same behavior.
codec - implementation of the CompressionCodec to be used.CompressionCodecsString compact()
Copyright © 2015. All rights reserved.