Class Jwt
JwtClaimsBuilder which produces
signed, encrypted or signed first and then encrypted JWT tokens.
The following example shows how to initialize a JwtClaimsBuilder from an existing resource
containing the claims in a JSON format and produce a signed JWT token with a configured signing key:
String = Jwt.claims("/tokenClaims.json").sign();
The next example shows how to use JwtClaimsBuilder to add the claims and encrypt a JSON
representation of these claims with a configured encrypting key:
String = Jwt.claims().issuer("https://issuer.org").claim("custom-claim", "custom-value").encrypt();
The final example shows how to initialize a JwtClaimsBuilder from an existing resource
containing the claims in a JSON format, produce an inner signed JWT token with a configured signing key
and encrypt it with a configured encrypting key.
String = Jwt.claims("/tokenClaims.json").innerSign().encrypt();
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'audience' claim.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'audience' claim.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified claim.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified claim.static JwtClaimsBuilderclaims()Creates a new instance ofJwtClaimsBuilderstatic JwtClaimsBuilderclaims(jakarta.json.JsonObject jsonObject) Creates a new instance ofJwtClaimsBuilderfromJsonObjectstatic JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderfrom a JSON resource.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderfrom a map of claims.static JwtClaimsBuilderclaims(org.eclipse.microprofile.jwt.JsonWebToken jwt) Creates a new instance ofJwtClaimsBuilderfromJsonWebToken.static JwtClaimsBuilderclaimsJson(String json) Creates a new instance ofJwtClaimsBuilderfrom a JSON string.static Stringencrypt(jakarta.json.JsonObject jsonObject) Encrypt the claims loaded fromJsonObjectusing 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static StringEncrypt the claims loaded from a JSON resource using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static StringEncrypt the claims using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static StringencryptJson(String json) Encrypt the claims from a JSON string using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'groups' claim.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'groups' claim.static StringinnerSignAndEncrypt(jakarta.json.JsonObject jsonObject) Sign the claims loaded fromJsonObjectusing 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static StringinnerSignAndEncrypt(String jsonLocation) Sign the claims loaded from a JSON resource using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static StringinnerSignAndEncrypt(Map<String, Object> claims) Sign the claims using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static StringSign the claims from a JSON string using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location".static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified issuer.static JwtClaimsBuilderpreferredUserName(String preferredUserName) Creates a new instance ofJwtClaimsBuilderwith a specified 'preferred_username' claim.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'scope' claim.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'scope' claim.static Stringsign(jakarta.json.JsonObject jsonObject) Sign the claims loaded fromJsonObjectusing 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location".static StringSign the claims loaded from a JSON resource using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location".static StringSign the claims using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location".static StringSign the claims from a JSON string using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location".static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified subject.static JwtClaimsBuilderCreates a new instance ofJwtClaimsBuilderwith a specified 'upn' claim.
-
Constructor Details
-
Jwt
public Jwt()
-
-
Method Details
-
claims
Creates a new instance ofJwtClaimsBuilder- Returns:
JwtClaimsBuilder
-
claims
Creates a new instance ofJwtClaimsBuilderfrom a map of claims.- Parameters:
claims- the map with the claim name and value pairs. Claim value is converted to String unless it is an instance ofBoolean,Number,Collection,Map,JsonObjectorJsonArray.- Returns:
JwtClaimsBuilder
-
claims
Creates a new instance ofJwtClaimsBuilderfromJsonObject- Parameters:
jsonObject-JsonObjectcontaining the claims.- Returns:
JwtClaimsBuilder
-
claims
Creates a new instance ofJwtClaimsBuilderfrom a JSON resource.- Parameters:
jsonLocation- JSON resource location- Returns:
JwtClaimsBuilder
-
claimsJson
Creates a new instance ofJwtClaimsBuilderfrom a JSON string.- Parameters:
json- JSON string- Returns:
JwtClaimsBuilder
-
claims
Creates a new instance ofJwtClaimsBuilderfromJsonWebToken.- Parameters:
jwt- JsonWebToken token.- Returns:
JwtClaimsBuilder
-
claim
Creates a new instance ofJwtClaimsBuilderwith a specified claim. Simple claim value are converted toStringunless it is an instance ofBoolean,Number,InstantorPublicKey.Instantvalues have their number of seconds from the epoch converted to long.PublicKeyvalues are converted to JSON Web Key (JWK) representations.Array claims can be set as
CollectionorJsonArray, complex claims can be set asMaporJsonObject. The members of the array claims can be complex claims.Types of the claims directly supported by this builder are enforced. The 'iss' (issuer), 'sub' (subject), 'upn', 'preferred_username' and 'jti' (token identifier) claims must be of
Stringtype. The 'aud' (audience) and 'groups' claims must be either ofStringorCollectionofStringtype. The 'iat' (issued at) and 'exp' (expires at) claims must be either of long orInstanttype.- Parameters:
name- the claim namevalue- the claim value- Returns:
- JwtClaimsBuilder
- Throws:
IllegalArgumentException- - if the type of the claim directly supported byJwtClaimsBuilderis wrong
-
claim
Creates a new instance ofJwtClaimsBuilderwith a specified claim. Simple claim value are converted toStringunless it is an instance ofBoolean,Number,Instantor PublicKey.Instantvalues have their number of seconds from the epoch converted to long.PublicKeyvalues are converted to JSON Web Key (JWK) representations.Array claims can be set as
CollectionorJsonArray, complex claims can be set asMaporJsonObject. The members of the array claims can be complex claims.Types of the claims directly supported by this builder are enforced. The 'iss' (issuer), 'sub' (subject), 'upn', 'preferred_username' and 'jti' (token identifier) claims must be of
Stringtype. The 'aud' (audience) and 'groups' claims must be either ofStringorCollectionofStringtype. The 'iat' (issued at) and 'exp' (expires at) claims must be either of long orInstanttype.- Parameters:
name- the claim namevalue- the claim value- Returns:
- JwtClaimsBuilder
- Throws:
IllegalArgumentException- - if the type of the claim directly supported byJwtClaimsBuilderis wrong
-
issuer
Creates a new instance ofJwtClaimsBuilderwith a specified issuer.- Parameters:
issuer- the issuer- Returns:
JwtClaimsBuilder
-
subject
Creates a new instance ofJwtClaimsBuilderwith a specified subject.- Parameters:
subject- the subject- Returns:
JwtClaimsBuilder
-
groups
Creates a new instance ofJwtClaimsBuilderwith a specified 'groups' claim.- Parameters:
groups- the groups- Returns:
JwtClaimsBuilder
-
groups
Creates a new instance ofJwtClaimsBuilderwith a specified 'groups' claim.- Parameters:
groups- the groups- Returns:
JwtClaimsBuilder
-
scope
Creates a new instance ofJwtClaimsBuilderwith a specified 'scope' claim.- Parameters:
scope- the scope- Returns:
JwtClaimsBuilder
-
scope
Creates a new instance ofJwtClaimsBuilderwith a specified 'scope' claim.- Parameters:
scopes- the scopes- Returns:
JwtClaimsBuilder
-
audience
Creates a new instance ofJwtClaimsBuilderwith a specified 'audience' claim.- Parameters:
audience- the audience- Returns:
JwtClaimsBuilder
-
audience
Creates a new instance ofJwtClaimsBuilderwith a specified 'audience' claim.- Parameters:
audiences- the audience- Returns:
JwtClaimsBuilder
-
upn
Creates a new instance ofJwtClaimsBuilderwith a specified 'upn' claim.- Parameters:
upn- the upn- Returns:
JwtClaimsBuilder
-
preferredUserName
Creates a new instance ofJwtClaimsBuilderwith a specified 'preferred_username' claim.- Parameters:
preferredUserName- the preferred user name- Returns:
JwtClaimsBuilder
-
sign
Sign the claims loaded from a JSON resource using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location". Private RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
jsonLocation- JSON resource location- Returns:
- signed JWT token
- Throws:
JwtSignatureException- the exception if the signing operation has failed
-
sign
Sign the claims using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location". Private RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
claims- the map with the claim name and value pairs. Claim value is converted to String unless it is an instance ofBoolean,Number,Collection,Map,JsonObjectorJsonArray- Returns:
- signed JWT token
- Throws:
JwtSignatureException- the exception if the signing operation has failed
-
sign
Sign the claims loaded fromJsonObjectusing 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location". Private RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
jsonObject-JsonObjectcontaining the claims.- Returns:
- signed JWT token
- Throws:
JwtSignatureException- the exception if the signing operation has failed
-
signJson
Sign the claims from a JSON string using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location". Private RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
json- JSON string- Returns:
- signed JWT token
- Throws:
JwtSignatureException- the exception if the signing operation has failed
-
encrypt
Encrypt the claims loaded from a JSON resource using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
jsonLocation- JSON resource location- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
encrypt
Encrypt the claims using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
claims- the map with the claim name and value pairs. Claim value is converted to String unless it is an instance ofBoolean,Number,Collection,Map,JsonObjectorJsonArray- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
encrypt
Encrypt the claims loaded fromJsonObjectusing 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
jsonObject-JsonObjectcontaining the claims.- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
encryptJson
Encrypt the claims from a JSON string using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
json- JSON string- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
innerSignAndEncrypt
Sign the claims loaded from a JSON resource using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
jsonLocation- JSON resource location- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
innerSignAndEncrypt
Sign the claims using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
claims- the map with the claim name and value pairs. Claim value is converted to String unless it is an instance ofBoolean,Number,Collection,Map,JsonObjectorJsonArray- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
innerSignAndEncrypt
Sign the claims loaded fromJsonObjectusing 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
jsonObject-JsonObjectcontaining the claims.- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-
innerSignAndEncryptJson
Sign the claims from a JSON string using 'RS256' algorithm with a private RSA key loaded from the location set with the "smallrye.jwt.sign.key-location" and encrypt the inner JWT using 'RSA-OAEP-256' algorithm with a public RSA key loaded from the location set with the "smallrye.jwt.encrypt.key-location". Public RSA key of size 2048 bits or larger MUST be used. The 'iat' (issued at time), 'exp' (expiration time) and 'jit' (unique token identifier) claims will be set and the `iss` issuer claim may be set by the implementation unless they have already been set. SeeJwtClaimsBuilderdescription for more information.- Parameters:
json- JSON string- Returns:
- encrypted JWT token
- Throws:
JwtEncryptionException- the exception if the encryption operation has failed
-