Top Description Methods
org.eclipse.microprofile.jwt

public Interface JsonWebToken

extends Principal
Imports
java.security.Principal, java.util.Optional, .Set

A read-only interface for the the claims required by Eclipse MicroProfile conforming tokens. Additional information about the claims defined by OIDC and RFC7519 can be found at https://www.iana.org/assignments/jwt/jwt.xhtml. This is compatible with the pre-JSR 375 caller Principal api.

Method Summary

Modifier and TypeMethod and Description
public default <
- the type of the claim value to return
T
>
Optional<T>

Returns:

an Optional wrapper of the claim value
claim
(String
- the name of the claim
claimName
)

A utility method to access a claim value in an Optional wrapper

public default <
- the type of the claim value to return
T
>
Optional<T>

Returns:

an Optional wrapper of the claim value
claim
(Claims
- the claim
claim
)

A utility method to access a claim value in an Optional wrapper

public default boolean

Returns:

true if the JsonWebToken contains the claim, false otherwise
containsClaim
(String
- the name of the claim
claimName
)

Verify is a given claim exists

public default Set<String>

Returns:

the aud claim or null if the claim is not present
getAudience
()

The aud(Audience) claim identifies the recipients that the JWT is intended for.

public <
The claim type
T
>
T

Returns:

the value of the indicated claim if it exists, null otherwise.
getClaim
(String
- the name of the claim
claimName
)

Access the value of the indicated claim.

public default <
The claim type
T
>
T

Returns:

the value of the indicated claim if it exists, null otherwise.
getClaim
(Claims
- the claim
claim
)

Access the value of the indicated claim.

public Set<String>

Returns:

non-standard claim names in the token
getClaimNames
()

Access the names of all claims are associated with this token.

public default long

Returns:

the exp claim.
getExpirationTime
()

The exp (Expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be accepted for processing in seconds since 1970-01-01T00:00:00Z UTC

public default Set<String>

Returns:

a possibly empty set of group names.
getGroups
()

The groups claim provides the group names the JWT principal has been granted.

public default long

Returns:

the iat claim
getIssuedAtTime
()

The iat(Issued at time) claim identifies the time at which the JWT was issued in seconds since 1970-01-01T00:00:00Z UTC

public default String

Returns:

the iss claim.
getIssuer
()

The iss(Issuer) claim identifies the principal that issued the JWT

public String

Returns:

the unique name of this principal.
getName
()

Redeclares java.security.Principal.getName.

Returns the unique name of this principal.

public default String

Returns:

raw bear token string
getRawToken
()

Get the raw bearer token string originally passed in the authentication header

public default String

Returns:

the sub claim.
getSubject
()

The sub(Subject) claim identifies the principal that is the subject of the JWT.

public default String

Returns:

the jti claim.
getTokenID
()

The jti(JWT ID) claim provides a unique identifier for the JWT.

Inherited from java.security.Principal:
equalshashCodeimpliestoString

Method Detail

claimback to summary
public default <T> Optional<T> claim(String claimName)

A utility method to access a claim value in an Optional wrapper

Parameters
<T>
- the type of the claim value to return
claimName:String

- the name of the claim

Returns:Optional<T>

an Optional wrapper of the claim value

claimback to summary
public default <T> Optional<T> claim(Claims claim)

A utility method to access a claim value in an Optional wrapper

Parameters
<T>
- the type of the claim value to return
claim:Claims

- the claim

Returns:Optional<T>

an Optional wrapper of the claim value

containsClaimback to summary
public default boolean containsClaim(String claimName)

Verify is a given claim exists

Parameters
claimName:String

- the name of the claim

Returns:boolean

true if the JsonWebToken contains the claim, false otherwise

getAudienceback to summary
public default Set<String> getAudience()

The aud(Audience) claim identifies the recipients that the JWT is intended for.

Returns:Set<String>

the aud claim or null if the claim is not present

getClaimback to summary
public <T> T getClaim(String claimName)

Access the value of the indicated claim.

Parameters
<T>
The claim type
claimName:String

- the name of the claim

Returns:T

the value of the indicated claim if it exists, null otherwise.

getClaimback to summary
public default <T> T getClaim(Claims claim)

Access the value of the indicated claim.

Parameters
<T>
The claim type
claim:Claims

- the claim

Returns:T

the value of the indicated claim if it exists, null otherwise.

getClaimNamesback to summary
public Set<String> getClaimNames()

Access the names of all claims are associated with this token.

Returns:Set<String>

non-standard claim names in the token

getExpirationTimeback to summary
public default long getExpirationTime()

The exp (Expiration time) claim identifies the expiration time on or after which the JWT MUST NOT be accepted for processing in seconds since 1970-01-01T00:00:00Z UTC

Returns:long

the exp claim.

getGroupsback to summary
public default Set<String> getGroups()

The groups claim provides the group names the JWT principal has been granted. This is a MicroProfile specific claim.

Returns:Set<String>

a possibly empty set of group names.

getIssuedAtTimeback to summary
public default long getIssuedAtTime()

The iat(Issued at time) claim identifies the time at which the JWT was issued in seconds since 1970-01-01T00:00:00Z UTC

Returns:long

the iat claim

getIssuerback to summary
public default String getIssuer()

The iss(Issuer) claim identifies the principal that issued the JWT

Returns:String

the iss claim.

getNameback to summary
public String getName()

Redeclares java.security.Principal.getName.

Returns the unique name of this principal. This either comes from the upn claim, or if that is missing, the preferred_username claim. Note that for guaranteed interoperability a upn claim should be used.

Returns:String

the unique name of this principal.

Annotations
@Override
getRawTokenback to summary
public default String getRawToken()

Get the raw bearer token string originally passed in the authentication header

Returns:String

raw bear token string

getSubjectback to summary
public default String getSubject()

The sub(Subject) claim identifies the principal that is the subject of the JWT. This is the token issuing IDP subject.

Returns:String

the sub claim.

getTokenIDback to summary
public default String getTokenID()

The jti(JWT ID) claim provides a unique identifier for the JWT. The identifier 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; if the application uses multiple issuers, collisions MUST be prevented among values produced by different issuers as well. The "jti" claim can be used to prevent the JWT from being replayed.

Returns:String

the jti claim.