public class Jwt extends Object
Representation of a JSON web token (a generic one).
| Modifier and Type | Class and Description |
|---|---|
static class |
Jwt.Builder
Builder of a
Jwt. |
static class |
Jwt.ExpirationValidator
Validator of expiration claim.
|
static class |
Jwt.FieldValidator
Validator of a string field obtained from a JWT.
|
static class |
Jwt.IssueTimeValidator
Validator of issue time claim.
|
static class |
Jwt.NotBeforeValidator
Validator of not before claim.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
addAudienceValidator(Collection<Validator<Jwt>> validators,
String audience,
boolean mandatory)
Add validator of audience to the collection of validators.
|
static void |
addIssuerValidator(Collection<Validator<Jwt>> validators,
String issuer,
boolean mandatory)
Add validator of issuer to the collection of validators.
|
Optional<JwtUtil.Address> |
address()
Address claim.
|
Optional<String> |
algorithm()
Algorithm claim.
|
Optional<byte[]> |
atHash()
AtHash claim.
|
Optional<List<String>> |
audience()
Audience claim.
|
Optional<LocalDate> |
birthday()
Birthday claim.
|
static Jwt.Builder |
builder()
Get a builder to create a JWT.
|
Optional<byte[]> |
cHash()
CHash claim.
|
Optional<String> |
contentType()
Content type claim.
|
static List<Validator<Jwt>> |
defaultTimeValidators()
Return a list of validators to validate expiration time, issue time and not-before time.
|
static List<Validator<Jwt>> |
defaultTimeValidators(Instant now,
int timeSkewAmount,
ChronoUnit timeSkewUnit,
boolean mandatory)
Return a list of validators to validate expiration time, issue time and not-before time.
|
Optional<String> |
email()
Email claim.
|
Optional<Boolean> |
emailVerified()
Email verified claim.
|
Optional<Instant> |
expirationTime()
Expiration time claim.
|
Optional<String> |
familyName()
Family name claim.
|
Optional<String> |
fullName()
Full name claim.
|
Optional<String> |
gender()
Gender claim.
|
Optional<String> |
givenName()
Given name claim.
|
Optional<JsonValue> |
headerClaim(String claim)
Get a claim by its name from header.
|
JsonObject |
headerJson()
Create a JSON header object.
|
Optional<String> |
issuer()
Issuer claim.
|
Optional<Instant> |
issueTime()
Issue time claim.
|
Optional<String> |
jwtId()
Jwt id claim.
|
Optional<String> |
keyId()
Key id claim.
|
Optional<Locale> |
locale()
Locale claim.
|
Optional<String> |
middleName()
Middle name claim.
|
Optional<String> |
nickname()
Nickname claim.
|
Optional<String> |
nonce()
Nonce claim.
|
Optional<Instant> |
notBefore()
Not before claim.
|
Optional<JsonValue> |
payloadClaim(String claim)
Get a claim by its name from payload.
|
Map<String,JsonValue> |
payloadClaims()
All payload claims in raw json form.
|
JsonObject |
payloadJson()
Create a JSON payload object.
|
Optional<String> |
phoneNumber()
Phone number claim.
|
Optional<Boolean> |
phoneNumberVerified()
Phone number verified claim.
|
Optional<URI> |
picture()
Picture URI claim.
|
Optional<String> |
preferredUsername()
Preferred username claim.
|
Optional<URI> |
profile()
Profile URI claim.
|
Optional<List<String>> |
scopes()
Scopes of this token.
|
Optional<String> |
subject()
Subject claim.
|
Optional<ZoneId> |
timeZone()
Time Zone claim.
|
Optional<String> |
type()
Type claim.
|
Optional<Instant> |
updatedAt()
Updated at claim.
|
Optional<List<String>> |
userGroups()
User groups claim ("groups" from microprofile specification).
|
Optional<String> |
userPrincipal()
User principal claim ("upn" from microprofile specification).
|
Errors |
validate(List<Validator<Jwt>> validators)
Validate this JWT against provided validators.
|
Errors |
validate(String issuer,
String audience)
Validates all default values.
|
Optional<URI> |
website()
Website URI claim.
|
public static List<Validator<Jwt>> defaultTimeValidators()
public static List<Validator<Jwt>> defaultTimeValidators(Instant now, int timeSkewAmount, ChronoUnit timeSkewUnit, boolean mandatory)
now - Time that acts as the "now" instant (this allows us to validate if a token was valid at an instant in
the pasttimeSkewAmount - time skew allowed when validating (amount - such as 5)timeSkewUnit - time skew allowed when validating (unit - such as ChronoUnit.SECONDS)mandatory - whether the field is mandatory. True for mandatory, false for optional (for all default time
validators)public static void addIssuerValidator(Collection<Validator<Jwt>> validators, String issuer, boolean mandatory)
validators - collection of validatorsissuer - issuer expected to be in the tokenmandatory - whether issuer field is mandatory in the token (true - mandatory, false - optional)public static void addAudienceValidator(Collection<Validator<Jwt>> validators, String audience, boolean mandatory)
validators - collection of validatorsaudience - audience expected to be in the tokenmandatory - whether the audience field is mandatory in the tokenpublic static Jwt.Builder builder()
public Optional<List<String>> scopes()
public Optional<JsonValue> headerClaim(String claim)
claim - name of a claimpublic Optional<JsonValue> payloadClaim(String claim)
claim - name of a claimpublic Map<String,JsonValue> payloadClaims()
public Optional<String> algorithm()
public Optional<String> keyId()
public Optional<String> contentType()
public Optional<String> issuer()
public Optional<Instant> expirationTime()
public Optional<Instant> issueTime()
public Optional<Instant> notBefore()
public Optional<String> subject()
public Optional<String> userPrincipal()
public Optional<List<String>> userGroups()
public Optional<List<String>> audience()
public Optional<String> jwtId()
public Optional<Boolean> emailVerified()
public Optional<String> fullName()
public Optional<String> givenName()
public Optional<String> middleName()
public Optional<String> familyName()
public Optional<Locale> locale()
public Optional<String> nickname()
public Optional<String> preferredUsername()
public Optional<URI> profile()
public Optional<URI> picture()
public Optional<URI> website()
public Optional<String> gender()
public Optional<LocalDate> birthday()
public Optional<ZoneId> timeZone()
public Optional<String> phoneNumber()
public Optional<Boolean> phoneNumberVerified()
public Optional<Instant> updatedAt()
public Optional<JwtUtil.Address> address()
public Optional<byte[]> atHash()
public Optional<byte[]> cHash()
public JsonObject headerJson()
public JsonObject payloadJson()
public Errors validate(List<Validator<Jwt>> validators)
validators - Validators to validate with. Obtain them through (e.g.) defaultTimeValidators()
, addAudienceValidator(Collection, String, boolean)
, addIssuerValidator(Collection, String, boolean)public Errors validate(String issuer, String audience)
Expiration time if definedIssue time if definedNot before time if definedissuer() Issuer} if definedAudience if definedissuer - validates that this JWT was issued by this issuer. Setting this to non-null value will make
issuer claim mandatoryaudience - validates that this JWT was issued for this audience. Setting this to non-null value will make
audience claim mandatoryCopyright © 2018–2019 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms.