public class Jwt
extends java.lang.Object
Representation of a JSON web token (a generic one).
| Modifier and Type | Class | 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.
|
| Constructor | Description |
|---|---|
Jwt(javax.json.JsonObject headerJson,
javax.json.JsonObject payloadJson) |
Create a token based on json.
|
| Modifier and Type | Method | Description |
|---|---|---|
static void |
addAudienceValidator(java.util.Collection<Validator<Jwt>> validators,
java.lang.String audience,
boolean mandatory) |
Add validator of audience to the collection of validators.
|
static void |
addIssuerValidator(java.util.Collection<Validator<Jwt>> validators,
java.lang.String issuer,
boolean mandatory) |
Add validator of issuer to the collection of validators.
|
static Jwt.Builder |
builder() |
Get a builder to create a JWT.
|
static java.util.List<Validator<Jwt>> |
defaultTimeValidators() |
Return a list of validators to validate expiration time, issue time and not-before time.
|
static java.util.List<Validator<Jwt>> |
defaultTimeValidators(java.time.Instant now,
int timeSkewAmount,
java.time.temporal.ChronoUnit timeSkewUnit,
boolean mandatory) |
Return a list of validators to validate expiration time, issue time and not-before time.
|
java.util.Optional<JwtUtil.Address> |
getAddress() |
|
java.util.Optional<java.lang.String> |
getAlgorithm() |
|
java.util.Optional<byte[]> |
getAtHash() |
|
java.util.Optional<java.util.List<java.lang.String>> |
getAudience() |
|
java.util.Optional<java.time.LocalDate> |
getBirthday() |
|
java.util.Optional<byte[]> |
getCHash() |
|
java.util.Optional<java.lang.String> |
getContentType() |
|
java.util.Optional<java.lang.String> |
getEmail() |
|
java.util.Optional<java.lang.Boolean> |
getEmailVerified() |
|
java.util.Optional<java.time.Instant> |
getExpirationTime() |
|
java.util.Optional<java.lang.String> |
getFamilyName() |
|
java.util.Optional<java.lang.String> |
getFullName() |
|
java.util.Optional<java.lang.String> |
getGender() |
|
java.util.Optional<java.lang.String> |
getGivenName() |
|
java.util.Optional<javax.json.JsonValue> |
getHeaderClaim(java.lang.String claim) |
Get a claim by its name from header.
|
javax.json.JsonObject |
getHeaderJson() |
Create a JSON header object.
|
java.util.Optional<java.lang.String> |
getIssuer() |
|
java.util.Optional<java.time.Instant> |
getIssueTime() |
|
java.util.Optional<java.lang.String> |
getJwtId() |
|
java.util.Optional<java.lang.String> |
getKeyId() |
|
java.util.Optional<java.util.Locale> |
getLocale() |
|
java.util.Optional<java.lang.String> |
getMiddleName() |
|
java.util.Optional<java.lang.String> |
getNickname() |
|
java.util.Optional<java.lang.String> |
getNonce() |
|
java.util.Optional<java.time.Instant> |
getNotBefore() |
|
java.util.Optional<javax.json.JsonValue> |
getPayloadClaim(java.lang.String claim) |
Get a claim by its name from payload.
|
java.util.Map<java.lang.String,javax.json.JsonValue> |
getPayloadClaims() |
|
javax.json.JsonObject |
getPayloadJson() |
Create a JSON payload object.
|
java.util.Optional<java.lang.String> |
getPhoneNumber() |
|
java.util.Optional<java.lang.Boolean> |
getPhoneNumberVerified() |
|
java.util.Optional<java.net.URI> |
getPicture() |
|
java.util.Optional<java.lang.String> |
getPreferredUsername() |
|
java.util.Optional<java.net.URI> |
getProfile() |
|
java.util.Optional<java.util.List<java.lang.String>> |
getScopes() |
|
java.util.Optional<java.lang.String> |
getSubject() |
|
java.util.Optional<java.time.ZoneId> |
getTimeZone() |
|
java.util.Optional<java.lang.String> |
getType() |
|
java.util.Optional<java.time.Instant> |
getUpdatedAt() |
|
java.util.Optional<java.net.URI> |
getWebsite() |
|
Errors |
validate(java.lang.String issuer,
java.lang.String audience) |
Validates all default values.
|
Errors |
validate(java.util.List<Validator<Jwt>> validators) |
Validate this JWT against provided validators.
|
public Jwt(javax.json.JsonObject headerJson,
javax.json.JsonObject payloadJson)
headerJson - headerspayloadJson - payloadpublic static java.util.List<Validator<Jwt>> defaultTimeValidators()
public static java.util.List<Validator<Jwt>> defaultTimeValidators(java.time.Instant now, int timeSkewAmount, java.time.temporal.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(java.util.Collection<Validator<Jwt>> validators, java.lang.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(java.util.Collection<Validator<Jwt>> validators, java.lang.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 java.util.Optional<java.util.List<java.lang.String>> getScopes()
public java.util.Optional<javax.json.JsonValue> getHeaderClaim(java.lang.String claim)
claim - name of a claimpublic java.util.Optional<javax.json.JsonValue> getPayloadClaim(java.lang.String claim)
claim - name of a claimpublic java.util.Map<java.lang.String,javax.json.JsonValue> getPayloadClaims()
public java.util.Optional<java.lang.String> getAlgorithm()
public java.util.Optional<java.lang.String> getKeyId()
public java.util.Optional<java.lang.String> getType()
public java.util.Optional<java.lang.String> getContentType()
public java.util.Optional<java.lang.String> getIssuer()
public java.util.Optional<java.time.Instant> getExpirationTime()
public java.util.Optional<java.time.Instant> getIssueTime()
public java.util.Optional<java.time.Instant> getNotBefore()
public java.util.Optional<java.lang.String> getSubject()
public java.util.Optional<java.util.List<java.lang.String>> getAudience()
public java.util.Optional<java.lang.String> getJwtId()
public java.util.Optional<java.lang.String> getEmail()
public java.util.Optional<java.lang.Boolean> getEmailVerified()
public java.util.Optional<java.lang.String> getFullName()
public java.util.Optional<java.lang.String> getGivenName()
public java.util.Optional<java.lang.String> getMiddleName()
public java.util.Optional<java.lang.String> getFamilyName()
public java.util.Optional<java.util.Locale> getLocale()
public java.util.Optional<java.lang.String> getNickname()
public java.util.Optional<java.lang.String> getPreferredUsername()
public java.util.Optional<java.net.URI> getProfile()
public java.util.Optional<java.net.URI> getPicture()
public java.util.Optional<java.net.URI> getWebsite()
public java.util.Optional<java.lang.String> getGender()
public java.util.Optional<java.time.LocalDate> getBirthday()
public java.util.Optional<java.time.ZoneId> getTimeZone()
public java.util.Optional<java.lang.String> getPhoneNumber()
public java.util.Optional<java.lang.Boolean> getPhoneNumberVerified()
public java.util.Optional<java.time.Instant> getUpdatedAt()
public java.util.Optional<JwtUtil.Address> getAddress()
public java.util.Optional<byte[]> getAtHash()
public java.util.Optional<byte[]> getCHash()
public java.util.Optional<java.lang.String> getNonce()
public javax.json.JsonObject getHeaderJson()
public javax.json.JsonObject getPayloadJson()
public Errors validate(java.util.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(java.lang.String issuer, java.lang.String audience)
Expiration time if definedIssue time if definedNot before time if definedgetIssuer() 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, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.