Attributes on this annotation make up the OpenID connect client configuration. Expression Language
expressions in attributes of type String are evaluated.
It can make use of the user endpoint for retrieving claims about the user.
Note that in the OpenID terminology the authentication mechanism becomes a "Relying Party" (RP) that redirects the "End-User" (caller) to an "OpenId Connect Provider" (Identity Provider). Authentication takes place between the user and the Identity Provider, where the result of this authentication is communicated back to the authentication mechanism.
This is depicted in the following non-normative diagram:
+--------+ +--------+ | | | | | |---------------(1) Authentication Request------------->| | | | | | | | +--------+ | | | | | End- |<--(2) Authenticates the End-User---->| | | RP | | User | | OP | | | +--------+ | | | | | | | |<---------(3) Returns Authorization code---------------| | | | | | | |---------(3b) | | | | | Redirect to original resource (if any) | | | |<----------+ | | | | | | | |------------------------------------------------------>| | | | (4) Request to TokenEndpoint for Access / Id Token | | | OpenId |<------------------------------------------------------| OpenId | | Connect| | Connect| | Client | ----------------------------------------------------->|Provider| | | (5) Fetch JWKS to validate ID Token | | | |<------------------------------------------------------| | | | | | | |------------------------------------------------------>| | | | (6) Request to UserInfoEndpoint for End-User Claims | | | |<------------------------------------------------------| | | | | | +--------+ +--------+
Because of the way this authentication mechanism and protocol works, there is no
requirement to explicitly define an identity store. However, the authentication
mechanism MUST validate the token received from the "TokenEndpoint" by calling
the IdentityStoreHandler. This allows for extra identity stores and/or
a custom IdentityStoreHandler to participate in the final authentication result
(e.g. adding extra groups).
| Modifier and Type | Class and Description |
|---|---|
| public static @interface | OpenIdAuthenticationMechanismDefinition.
Enables multiple |
| public static @interface |
| Modifier and Type | Method and Description |
|---|---|
| public ClaimsDefinition | |
| public String | |
| public String | |
| public DisplayType | |
| public String | |
| public String[] | |
| public String | extraParametersExpression()
Allows the extra parameters to be defined as a Jakarta Expression Language expression. |
| public int | |
| public String | |
| public int | |
| public String | |
| public LogoutDefinition | |
| public PromptType[] | |
| public String | |
| public OpenIdProviderMetadata | Returns: OpenIdProviderMetadata instance.To override the openid connect provider's metadata property discovered via providerUri. |
| public String | Returns: provider URI to read from which to read metadataRequired, unless providerMetadata is specified. |
| public Class | |
| public boolean | |
| public String | |
| public String | redirectURI()
The redirect URI (callback URI) to which the response will be sent by the OpenId Connect Provider. |
| public String | |
| public String | |
| public String[] | |
| public String | |
| public boolean | Returns: true, if Access and Refresh Token shall be refreshed
automatically when they are expired.Optional. |
| public String | |
| public int | |
| public String | |
| public boolean | |
| public String | |
| public boolean | |
| public String |
| claimsDefinition | back to summary |
|---|---|
| public ClaimsDefinition claimsDefinition() Optional. The claims definition defines the custom claims mapping of caller name and groups. | |
| clientId | back to summary |
|---|---|
| public String clientId() Required. The client identifier issued when the application was registered.
| |
| clientSecret | back to summary |
|---|---|
| public String clientSecret() Required. The client secret. Note that it is strongly recommended to set this using an Expression so that the value is not hardcoded within the code.
| |
| display | back to summary |
|---|---|
| public DisplayType display() Optional. The display value specifying how the authorization server displays the authentication and consent user interface pages. | |
| displayExpression | back to summary |
|---|---|
| public String displayExpression() Optional. Allows the display value to be specified as Jakarta Expression Language expression. If set, overrides the value defined by display. | |
| extraParameters | back to summary |
|---|---|
| public String[] extraParameters() An array of extra options that will be sent to the OAuth provider.
These must be in the form of | |
| extraParametersExpression | back to summary |
|---|---|
| public String extraParametersExpression() Allows the extra parameters to be defined as a Jakarta Expression Language expression. If set, overrides the extraParameters value. | |
| jwksConnectTimeout | back to summary |
|---|---|
| public int jwksConnectTimeout() Optional. Sets the connect timeout(in milliseconds) for Remote JWKS retrieval. Value must not be negative and if value is zero then infinite timeout. | |
| jwksConnectTimeoutExpression | back to summary |
|---|---|
| public String jwksConnectTimeoutExpression() Optional. Allows the connect timeout(in milliseconds) for Remote JWKS to be defined as Jakarta Expression Language expression. If set, overwrites the jwksConnectTimeout value. | |
| jwksReadTimeout | back to summary |
|---|---|
| public int jwksReadTimeout() Optional. Sets the read timeout(in milliseconds) for Remote JWKS retrieval. Value must not be negative and if value is zero then infinite timeout. | |
| jwksReadTimeoutExpression | back to summary |
|---|---|
| public String jwksReadTimeoutExpression() Optional. Allows the read timeout(in milliseconds) for Remote JWKS retrieval to be defined as Jakarta Expression Language expression. If set, overwrites the jwksReadTimeout value. | |
| logout | back to summary |
|---|---|
| public LogoutDefinition logout() Optional. The Logout definition defines the logout and Relaying Party session management configuration. | |
| prompt | back to summary |
|---|---|
| public PromptType[] prompt() Optional. The prompt value specifies whether the authorization server prompts the user for reauthentication and consent. If no value is specified and the user has not previously authorized access, then the user is shown a consent screen. | |
| promptExpression | back to summary |
|---|---|
| public String promptExpression() Optional. Allows the prompt value to be specified as Jakarta Expression Language expression. If Set, overirdes the value defined by the prompt value. | |
| providerMetadata | back to summary |
|---|---|
| public OpenIdProviderMetadata providerMetadata() To override the openid connect provider's metadata property discovered via providerUri.
| |
| providerURI | back to summary |
|---|---|
| public String providerURI() Required, unless providerMetadata is specified. The provider URI to read / discover the metadata of the openid provider.
| |
| qualifiers | back to summary |
|---|---|
| public Class List of
An
The default value is
| |
| redirectToOriginalResource | back to summary |
|---|---|
| public boolean redirectToOriginalResource() Optional. Automatically redirects the caller (the end-user) from
the redirect URI defined by the
After arriving at the original requested resource, the runtime restores
the request as it originally happened, including cookies, headers, the
request method and the request parameters in the same way as done when
using the | |
| redirectToOriginalResourceExpression | back to summary |
|---|---|
| public String redirectToOriginalResourceExpression() Optional. Allows the | |
| redirectURI | back to summary |
|---|---|
| public String redirectURI() The redirect URI (callback URI) to which the response will be sent by the OpenId Connect Provider. This URI must be absolute and must exactly match one of the Redirection URI values for the Client pre-registered at the OpenID Provider. The value can be a Jakarta Expression Language 3.0 expression, which can contain the implicit String variable baseURL. This variable contains the host and context path of the application for which the OpenID Connect authentication mechanism is installed. This variable makes it easier to compose an absolute URL as required by the OpenID Connect specification. Examples:
| |
| responseMode | back to summary |
|---|---|
| public String responseMode() Optional. Informs the Authorization Server of the mechanism to be used for returning parameters from the Authorization Endpoint. | |
| responseType | back to summary |
|---|---|
| public String responseType() Optional. Response Type value defines the processing flow to be used. By default, the value is code (Authorization Code Flow). | |
| scope | back to summary |
|---|---|
| public String[] scope() Optional. The scope value defines the access privileges. The basic (and required) scope for OpenID Connect is the openid scope. | |
| scopeExpression | back to summary |
|---|---|
| public String scopeExpression() Optional. Allows The scope value to be specified as Jakarta Expression Language expression. If Set, overrides any values set by scope. | |
| tokenAutoRefresh | back to summary |
|---|---|
| public boolean tokenAutoRefresh() Optional. Enables or disables the automatically performed refresh of Access and Refresh Token.
| |
| tokenAutoRefreshExpression | back to summary |
|---|---|
| public String tokenAutoRefreshExpression() Optional. Allows the automatically performed refresh of Access and Refresh Token to be defined as Jakarta Expression Language expression. If set, overwrites the value of tokenAutoRefresh. | |
| tokenMinValidity | back to summary |
|---|---|
| public int tokenMinValidity() Optional. Sets the minimum validity time in milliseconds the Access Token must be valid before it is considered expired. Value must not be negative. | |
| tokenMinValidityExpression | back to summary |
|---|---|
| public String tokenMinValidityExpression() Optional. Allows the minimum validity time in milliseconds the Access Token must be valid before it is considered expired to be defined as Jakarta Expression Language expression. If Set, overwrites the tokenMinValidity value. | |
| useNonce | back to summary |
|---|---|
| public boolean useNonce() Optional. Enables string value used to mitigate replay attacks. | |
| useNonceExpression | back to summary |
|---|---|
| public String useNonceExpression() Optional. Allows the nonce activation to be specified as Jakarta Expression Language expression. If set, overrides the value defined by the useNonce value. | |
| useSession | back to summary |
|---|---|
| public boolean useSession() Optional. If enabled the state, nonce values and original requested resource data are stored in an HTTP session otherwise in cookies. | |
| useSessionExpression | back to summary |
|---|---|
| public String useSessionExpression() Optional. Allows the configuration of the session through a Jakarta Expression Language expression. If set, overwrites the value of useSession value. | |
OpenIdAuthenticationMechanismDefinition
annotations on the same type.
| Modifier and Type | Method and Description |
|---|---|
| public OpenIdAuthenticationMechanismDefinition[] |
| value | back to summary |
|---|---|
| public OpenIdAuthenticationMechanismDefinition[] value() | |
| Modifier and Type | Class and Description |
|---|---|
| public static class | OpenIdAuthenticationMechanismDefinition.
Supports inline instantiation of the |
OpenIdAuthenticationMechanism qualifier.
| Modifier and Type | Field and Description |
|---|---|
| public static final OpenIdAuthenticationMechanismDefinition. | INSTANCE
Instance of the |
| private static final long |
| Access | Constructor and Description |
|---|---|
| public |
| INSTANCE | back to summary |
|---|---|
| public static final OpenIdAuthenticationMechanismDefinition. Instance of the | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Hides jakarta. | |
| Literal | back to summary |
|---|---|
| public Literal() | |