Class OidcTenantConfig.Authentication
- All Implemented Interfaces:
OidcTenantConfig.Authentication
- Enclosing class:
- OidcTenantConfig
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Deprecated.SameSite attribute values for the session cookie.static enum
Deprecated.Authorization code flow response mode -
Field Summary
FieldsModifier and TypeFieldDescriptionDeprecated.Add the `openid` scope automatically to the list of scopes.boolean
Deprecated.If a state cookie is present, a `state` query parameter must also be present and both the state cookie name suffix and state cookie value must match the value of the `state` query parameter when the redirect path matches the current path.Deprecated.Cookie domain parameter value which, if set, is used for the session, state and post logout cookies.boolean
Deprecated.If enabled the state, session, and post logout cookies have their `secure` parameter set to `true` when HTTP is used.Deprecated.Cookie path parameter value which, if set, is used to set a path parameter for the session, state and post logout cookies.Deprecated.Cookie path header parameter value which, if set, identifies the incoming HTTP header whose value is used to set a path parameter for the session, state and post logout cookies.Deprecated.SameSite attribute for the session cookie.Deprecated.Cookie name suffix.Deprecated.Relative path to the public endpoint which processes the error response from the OIDC authorization endpoint.Deprecated.Additional properties added as query parameters to the authentication redirect URI.boolean
Deprecated.Fail with the HTTP 401 error if the state cookie is present but no state query parameter is present.Deprecated.Force `https` as the `redirect_uri` parameter scheme when running behind an SSL/TLS terminating reverse proxy.Deprecated.Request URL query parameters which, if present, are added to the authentication redirect URI.Deprecated.Requires that ID token is available when the authorization code flow completes.Deprecated.Internal ID token lifespan.boolean
Deprecated.If this property is set to `true`, a normal 302 redirect response is returned if the request was initiated by a JavaScript API such as XMLHttpRequest or Fetch and the current user needs to be (re)authenticated, which might not be desirable for Single-page applications (SPA) since it automatically following the redirect might not work given that OIDC authorization endpoints typically do not support CORS.boolean
Deprecated.Require that ID token includes a `nonce` claim which must match `nonce` authentication request query parameter.Deprecated.Requires that a Proof Key for Code Exchange (PKCE) is used.Deprecated.This field is deprecated.Deprecated.The relative path for calculating a `redirect_uri` query parameter.boolean
Deprecated.Remove the query parameters such as `code` and `state` set by the OIDC server on the redirect URI after the user has authenticated by redirecting a user to the same URI but without the query parameters.Deprecated.Authorization code flow response mode.boolean
Deprecated.If this property is set to `true`, the original request URI which was used before the authentication is restored after the user has been redirected back to the application.Deprecated.List of scopesDeprecated.The separator which is used when more than one scope is configured.Deprecated.Session age extension in minutes.Deprecated.Relative path to the public endpoint which an authenticated user is redirected to when the session has expired.Deprecated.State cookie age in minutes.Deprecated.Secret used to encrypt Proof Key for Code Exchange (PKCE) code verifier and/or nonce in the code flow state.Deprecated.If this property is set to `true`, an OIDC UserInfo endpoint is called.boolean
Deprecated.Both ID and access tokens are fetched from the OIDC provider as part of the authorization code flow. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDeprecated.Add the `openid` scope automatically to the list of scopes.boolean
Deprecated.If a state cookie is present, a `state` query parameter must also be present and both the state cookie name suffix and state cookie value must match the value of the `state` query parameter when the redirect path matches the current path.Deprecated.Cookie domain parameter value which, if set, is used for the session, state and post logout cookies.boolean
Deprecated.If enabled the state, session, and post logout cookies have their `secure` parameter set to `true` when HTTP is used.Deprecated.Cookie path parameter value which, if set, is used to set a path parameter for the session, state and post logout cookies.Deprecated.Cookie path header parameter value which, if set, identifies the incoming HTTP header whose value is used to set a path parameter for the session, state and post logout cookies.Deprecated.SameSite attribute for the session cookie.Deprecated.Cookie name suffix.Deprecated.Relative path to the public endpoint which processes the error response from the OIDC authorization endpoint.Deprecated.Additional properties added as query parameters to the authentication redirect URI.boolean
Deprecated.Fail with the HTTP 401 error if the state cookie is present but no state query parameter is present.Deprecated.Force `https` as the `redirect_uri` parameter scheme when running behind an SSL/TLS terminating reverse proxy.Deprecated.Request URL query parameters which, if present, are added to the authentication redirect URI.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated, for removal: This API element is subject to removal in a future version.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Deprecated.Requires that ID token is available when the authorization code flow completes.Deprecated.Internal ID token lifespan.Deprecated.boolean
Deprecated.boolean
Deprecated.Deprecated.Deprecated.boolean
Deprecated.boolean
Deprecated.Deprecated.boolean
Deprecated.boolean
Deprecated.Deprecated.boolean
Deprecated.boolean
Deprecated.If this property is set to `true`, a normal 302 redirect response is returned if the request was initiated by a JavaScript API such as XMLHttpRequest or Fetch and the current user needs to be (re)authenticated, which might not be desirable for Single-page applications (SPA) since it automatically following the redirect might not work given that OIDC authorization endpoints typically do not support CORS.boolean
Deprecated.Require that ID token includes a `nonce` claim which must match `nonce` authentication request query parameter.Deprecated.Requires that a Proof Key for Code Exchange (PKCE) is used.Deprecated.Secret used to encrypt a Proof Key for Code Exchange (PKCE) code verifier in the code flow state.Deprecated.The relative path for calculating a `redirect_uri` query parameter.boolean
Deprecated.Remove the query parameters such as `code` and `state` set by the OIDC server on the redirect URI after the user has authenticated by redirecting a user to the same URI but without the query parameters.Deprecated.Authorization code flow response mode.boolean
Deprecated.If this property is set to `true`, the original request URI which was used before the authentication is restored after the user has been redirected back to the application.scopes()
Deprecated.List of scopesDeprecated.The separator which is used when more than one scope is configured.Deprecated.Session age extension in minutes.Deprecated.Relative path to the public endpoint which an authenticated user is redirected to when the session has expired.void
setAddOpenidScope
(boolean addOpenidScope) Deprecated.void
setAllowMultipleCodeFlows
(boolean allowMultipleCodeFlows) Deprecated.void
setCookieDomain
(String cookieDomain) Deprecated.void
setCookieForceSecure
(boolean cookieForceSecure) Deprecated.void
setCookiePath
(String cookiePath) Deprecated.void
setCookiePathHeader
(String cookiePathHeader) Deprecated.void
setCookieSameSite
(OidcTenantConfig.Authentication.CookieSameSite cookieSameSite) Deprecated.void
setCookieSuffix
(String cookieSuffix) Deprecated.void
setErrorPath
(String errorPath) Deprecated.void
setExtraParams
(Map<String, String> extraParams) Deprecated.void
setForceRedirectHttpsScheme
(boolean forceRedirectHttpsScheme) Deprecated.void
setForwardParams
(List<String> forwardParams) Deprecated.void
setIdTokenRequired
(boolean idTokenRequired) Deprecated.void
setInternalIdTokenLifespan
(Duration internalIdTokenLifespan) Deprecated.void
setJavaScriptAutoredirect
(boolean autoRedirect) Deprecated.void
setNonceRequired
(boolean nonceRequired) Deprecated.void
setPkceRequired
(boolean pkceRequired) Deprecated.void
setPkceSecret
(String pkceSecret) Deprecated, for removal: This API element is subject to removal in a future version.void
setRedirectPath
(String redirectPath) Deprecated.void
setRemoveRedirectParameters
(boolean removeRedirectParameters) Deprecated.void
setResponseMode
(OidcTenantConfig.Authentication.ResponseMode responseMode) Deprecated.void
setRestorePathAfterRedirect
(boolean restorePathAfterRedirect) Deprecated.void
Deprecated.void
setScopeSeparator
(String scopeSeparator) Deprecated.void
setSessionAgeExtension
(Duration sessionAgeExtension) Deprecated.void
setSessionExpiredPath
(String sessionExpiredPath) Deprecated.void
setStateCookieAge
(Duration stateCookieAge) Deprecated.void
setStateSecret
(Optional<String> stateSecret) Deprecated.void
setUserInfoRequired
(boolean userInfoRequired) Deprecated.void
setVerifyAccessToken
(boolean verifyAccessToken) Deprecated.Deprecated.State cookie age in minutes.Deprecated.Secret used to encrypt Proof Key for Code Exchange (PKCE) code verifier and/or nonce in the code flow state.Deprecated.If this property is set to `true`, an OIDC UserInfo endpoint is called.boolean
Deprecated.Both ID and access tokens are fetched from the OIDC provider as part of the authorization code flow.
-
Field Details
-
responseMode
Deprecated.Authorization code flow response mode. -
redirectPath
Deprecated.The relative path for calculating a `redirect_uri` query parameter. It has to start from a forward slash and is appended to the request URI's host and port. For example, if the current request URI is `https://localhost:8080/service`, a `redirect_uri` parameter is set to `https://localhost:8080/` if this property is set to `/` and be the same as the request URI if this property has not been configured. Note the original request URI is restored after the user has authenticated if `restorePathAfterRedirect` is set to `true`. -
restorePathAfterRedirect
public boolean restorePathAfterRedirectDeprecated.If this property is set to `true`, the original request URI which was used before the authentication is restored after the user has been redirected back to the application. Note if `redirectPath` property is not set, the original request URI is restored even if this property is disabled. -
removeRedirectParameters
public boolean removeRedirectParametersDeprecated.Remove the query parameters such as `code` and `state` set by the OIDC server on the redirect URI after the user has authenticated by redirecting a user to the same URI but without the query parameters. -
errorPath
Deprecated.Relative path to the public endpoint which processes the error response from the OIDC authorization endpoint. If the user authentication has failed, the OIDC provider returns an `error` and an optional `error_description` parameters, instead of the expected authorization `code`. If this property is set, the user is redirected to the endpoint which can return a user-friendly error description page. It has to start from a forward slash and is appended to the request URI's host and port. For example, if it is set as `/error` and the current request URI is `https://localhost:8080/callback?error=invalid_scope`, a redirect is made to `https://localhost:8080/error?error=invalid_scope`. If this property is not set, HTTP 401 status is returned in case of the user authentication failure. -
sessionExpiredPath
Deprecated.Relative path to the public endpoint which an authenticated user is redirected to when the session has expired.When the OIDC session has expired and the session can not be refreshed, a user is redirected to the OIDC provider to re-authenticate. The user experience may not be ideal in this case as it may not be obvious to the authenticated user why an authentication challenge is returned.
Set this property if you would like the user whose session has expired be redirected to a public application specific page instead, which can inform that the session has expired and advise the user to re-authenticated by following a link to the secured initial entry page.
-
verifyAccessToken
public boolean verifyAccessTokenDeprecated.Both ID and access tokens are fetched from the OIDC provider as part of the authorization code flow.ID token is always verified on every user request as the primary token which is used to represent the principal and extract the roles.
Authorization code flow access token is meant to be propagated to downstream services and is not verified by default unless `quarkus.oidc.roles.source` property is set to `accesstoken` which means the authorization decision is based on the roles extracted from the access token.
Authorization code flow access token verification is also enabled if this token is injected as JsonWebToken. Set this property to `false` if it is not required.
Bearer access token is always verified.
-
forceRedirectHttpsScheme
Deprecated.Force `https` as the `redirect_uri` parameter scheme when running behind an SSL/TLS terminating reverse proxy. This property, if enabled, also affects the logout `post_logout_redirect_uri` and the local redirect requests. -
scopes
Deprecated.List of scopes -
scopeSeparator
Deprecated.The separator which is used when more than one scope is configured. A single space is used by default. -
nonceRequired
public boolean nonceRequiredDeprecated.Require that ID token includes a `nonce` claim which must match `nonce` authentication request query parameter. Enabling this property can help mitigate replay attacks. Do not enable this property if your OpenId Connect provider does not support setting `nonce` in ID token or if you work with OAuth2 provider such as `GitHub` which does not issue ID tokens. -
addOpenidScope
Deprecated.Add the `openid` scope automatically to the list of scopes. This is required for OpenId Connect providers, but does not work for OAuth2 providers such as Twitter OAuth2, which do not accept this scope and throw errors. -
extraParams
Deprecated.Additional properties added as query parameters to the authentication redirect URI. -
forwardParams
Deprecated.Request URL query parameters which, if present, are added to the authentication redirect URI. -
cookieForceSecure
public boolean cookieForceSecureDeprecated.If enabled the state, session, and post logout cookies have their `secure` parameter set to `true` when HTTP is used. It might be necessary when running behind an SSL/TLS terminating reverse proxy. The cookies are always secure if HTTPS is used, even if this property is set to false. -
cookieSuffix
Deprecated.Cookie name suffix. For example, a session cookie name for the default OIDC tenant is `q_session` but can be changed to `q_session_test` if this property is set to `test`. -
cookiePath
Deprecated.Cookie path parameter value which, if set, is used to set a path parameter for the session, state and post logout cookies. The `cookie-path-header` property, if set, is checked first. -
cookiePathHeader
Deprecated.Cookie path header parameter value which, if set, identifies the incoming HTTP header whose value is used to set a path parameter for the session, state and post logout cookies. If the header is missing, the `cookie-path` property is checked. -
cookieDomain
Deprecated.Cookie domain parameter value which, if set, is used for the session, state and post logout cookies. -
cookieSameSite
Deprecated.SameSite attribute for the session cookie. -
allowMultipleCodeFlows
public boolean allowMultipleCodeFlowsDeprecated.If a state cookie is present, a `state` query parameter must also be present and both the state cookie name suffix and state cookie value must match the value of the `state` query parameter when the redirect path matches the current path. However, if multiple authentications are attempted from the same browser, for example, from the different browser tabs, then the currently available state cookie might represent the authentication flow initiated from another tab and not related to the current request. Disable this property to permit only a single authorization code flow in the same browser. -
failOnMissingStateParam
public boolean failOnMissingStateParamDeprecated.Fail with the HTTP 401 error if the state cookie is present but no state query parameter is present. When either multiple authentications are disabled or the redirect URL matches the original request URL, the stale state cookie might remain in the browser cache from the earlier failed redirect to an OpenId Connect provider and be visible during the current request. For example, if Single-page application (SPA) uses XHR to handle redirects to the provider which does not support CORS for its authorization endpoint, the browser blocks it and the state cookie created by Quarkus remains in the browser cache. Quarkus reports an authentication failure when it detects such an old state cookie but find no matching state query parameter. Reporting HTTP 401 error is usually the right thing to do in such cases, it minimizes a risk of the browser redirect loop but also can identify problems in the way SPA or Quarkus application manage redirects. For example, enablingjavaScriptAutoRedirect
or having the provider redirect to URL configured withredirectPath
might be needed to avoid such errors. However, setting this property to `false` might help if the above options are not suitable. It causes a new authentication redirect to OpenId Connect provider. Doing so might increase the risk of browser redirect loops. -
userInfoRequired
Deprecated.If this property is set to `true`, an OIDC UserInfo endpoint is called.This property is enabled automatically if `quarkus.oidc.roles.source` is set to `userinfo` or `quarkus.oidc.token.verify-access-token-with-user-info` is set to `true` or `quarkus.oidc.authentication.id-token-required` is set to `false`, the current OIDC tenant must support a UserInfo endpoint in these cases.
It is also enabled automatically if `io.quarkus.oidc.UserInfo` injection point is detected but only if the current OIDC tenant supports a UserInfo endpoint.
-
sessionAgeExtension
Deprecated.Session age extension in minutes. The user session age property is set to the value of the ID token life-span by default and the user is redirected to the OIDC provider to re-authenticate once the session has expired. If this property is set to a nonzero value, then the expired ID token can be refreshed before the session has expired. This property is ignored if the `token.refresh-expired` property has not been enabled. -
stateCookieAge
Deprecated.State cookie age in minutes. State cookie is created every time a new authorization code flow redirect starts and removed when this flow is completed. State cookie name is unique by default, seeallowMultipleCodeFlows
. Keep its age to the reasonable minimum value such as 5 minutes or less. -
javaScriptAutoRedirect
public boolean javaScriptAutoRedirectDeprecated.If this property is set to `true`, a normal 302 redirect response is returned if the request was initiated by a JavaScript API such as XMLHttpRequest or Fetch and the current user needs to be (re)authenticated, which might not be desirable for Single-page applications (SPA) since it automatically following the redirect might not work given that OIDC authorization endpoints typically do not support CORS. If this property is set to `false`, a status code of `499` is returned to allow SPA to handle the redirect manually if a request header identifying current request as a JavaScript request is found. `X-Requested-With` request header with its value set to either `JavaScript` or `XMLHttpRequest` is expected by default if this property is enabled. You can register a custom JavaScriptRequestChecker to do a custom JavaScript request check instead. -
idTokenRequired
Deprecated.Requires that ID token is available when the authorization code flow completes. Disable this property only when you need to use the authorization code flow with OAuth2 providers which do not return ID token - an internal IdToken is generated in such cases. -
internalIdTokenLifespan
Deprecated.Internal ID token lifespan. This property is only checked when an internal IdToken is generated when Oauth2 providers do not return IdToken. -
pkceRequired
Deprecated.Requires that a Proof Key for Code Exchange (PKCE) is used. -
pkceSecret
Deprecated.This field is deprecated. UsestateSecret
instead.Secret used to encrypt a Proof Key for Code Exchange (PKCE) code verifier in the code flow state. This secret should be at least 32 characters long. -
stateSecret
Deprecated.Secret used to encrypt Proof Key for Code Exchange (PKCE) code verifier and/or nonce in the code flow state. This secret should be at least 32 characters long. If this secret is not set, the client secret configured with either `quarkus.oidc.credentials.secret` or `quarkus.oidc.credentials.client-secret.value` is checked. Finally, `quarkus.oidc.credentials.jwt.secret` which can be used for `client_jwt_secret` authentication is checked. A client secret is not be used as a state encryption secret if it is less than 32 characters long. The secret is auto-generated if it remains uninitialized after checking all of these properties. Error is reported if the secret length is less than 16 characters.
-
-
Constructor Details
-
Authentication
public Authentication()Deprecated.
-
-
Method Details
-
responseMode
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Authorization code flow response mode.- Specified by:
responseMode
in interfaceOidcTenantConfig.Authentication
-
redirectPath
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
The relative path for calculating a `redirect_uri` query parameter. It has to start from a forward slash and is appended to the request URI's host and port. For example, if the current request URI is `https://localhost:8080/service`, a `redirect_uri` parameter is set to `https://localhost:8080/` if this property is set to `/` and be the same as the request URI if this property has not been configured. Note the original request URI is restored after the user has authenticated if `restorePathAfterRedirect` is set to `true`.- Specified by:
redirectPath
in interfaceOidcTenantConfig.Authentication
-
restorePathAfterRedirect
public boolean restorePathAfterRedirect()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
If this property is set to `true`, the original request URI which was used before the authentication is restored after the user has been redirected back to the application. Note if `redirectPath` property is not set, the original request URI is restored even if this property is disabled.- Specified by:
restorePathAfterRedirect
in interfaceOidcTenantConfig.Authentication
-
removeRedirectParameters
public boolean removeRedirectParameters()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Remove the query parameters such as `code` and `state` set by the OIDC server on the redirect URI after the user has authenticated by redirecting a user to the same URI but without the query parameters.- Specified by:
removeRedirectParameters
in interfaceOidcTenantConfig.Authentication
-
errorPath
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Relative path to the public endpoint which processes the error response from the OIDC authorization endpoint. If the user authentication has failed, the OIDC provider returns an `error` and an optional `error_description` parameters, instead of the expected authorization `code`. If this property is set, the user is redirected to the endpoint which can return a user-friendly error description page. It has to start from a forward slash and is appended to the request URI's host and port. For example, if it is set as `/error` and the current request URI is `https://localhost:8080/callback?error=invalid_scope`, a redirect is made to `https://localhost:8080/error?error=invalid_scope`. If this property is not set, HTTP 401 status is returned in case of the user authentication failure.- Specified by:
errorPath
in interfaceOidcTenantConfig.Authentication
-
sessionExpiredPath
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Relative path to the public endpoint which an authenticated user is redirected to when the session has expired.When the OIDC session has expired and the session can not be refreshed, a user is redirected to the OIDC provider to re-authenticate. The user experience may not be ideal in this case as it may not be obvious to the authenticated user why an authentication challenge is returned.
Set this property if you would like the user whose session has expired be redirected to a public application specific page instead, which can inform that the session has expired and advise the user to re-authenticated by following a link to the secured initial entry page.
- Specified by:
sessionExpiredPath
in interfaceOidcTenantConfig.Authentication
-
verifyAccessToken
public boolean verifyAccessToken()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Both ID and access tokens are fetched from the OIDC provider as part of the authorization code flow.ID token is always verified on every user request as the primary token which is used to represent the principal and extract the roles.
Authorization code flow access token is meant to be propagated to downstream services and is not verified by default unless `quarkus.oidc.roles.source` property is set to `accesstoken` which means the authorization decision is based on the roles extracted from the access token.
Authorization code flow access token verification is also enabled if this token is injected as JsonWebToken. Set this property to `false` if it is not required.
Bearer access token is always verified.
- Specified by:
verifyAccessToken
in interfaceOidcTenantConfig.Authentication
-
forceRedirectHttpsScheme
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Force `https` as the `redirect_uri` parameter scheme when running behind an SSL/TLS terminating reverse proxy. This property, if enabled, also affects the logout `post_logout_redirect_uri` and the local redirect requests.- Specified by:
forceRedirectHttpsScheme
in interfaceOidcTenantConfig.Authentication
-
scopes
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
List of scopes- Specified by:
scopes
in interfaceOidcTenantConfig.Authentication
-
scopeSeparator
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
The separator which is used when more than one scope is configured. A single space is used by default.- Specified by:
scopeSeparator
in interfaceOidcTenantConfig.Authentication
-
nonceRequired
public boolean nonceRequired()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Require that ID token includes a `nonce` claim which must match `nonce` authentication request query parameter. Enabling this property can help mitigate replay attacks. Do not enable this property if your OpenId Connect provider does not support setting `nonce` in ID token or if you work with OAuth2 provider such as `GitHub` which does not issue ID tokens.- Specified by:
nonceRequired
in interfaceOidcTenantConfig.Authentication
-
addOpenidScope
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Add the `openid` scope automatically to the list of scopes. This is required for OpenId Connect providers, but does not work for OAuth2 providers such as Twitter OAuth2, which do not accept this scope and throw errors.- Specified by:
addOpenidScope
in interfaceOidcTenantConfig.Authentication
-
extraParams
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Additional properties added as query parameters to the authentication redirect URI.- Specified by:
extraParams
in interfaceOidcTenantConfig.Authentication
-
forwardParams
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Request URL query parameters which, if present, are added to the authentication redirect URI.- Specified by:
forwardParams
in interfaceOidcTenantConfig.Authentication
-
cookieForceSecure
public boolean cookieForceSecure()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
If enabled the state, session, and post logout cookies have their `secure` parameter set to `true` when HTTP is used. It might be necessary when running behind an SSL/TLS terminating reverse proxy. The cookies are always secure if HTTPS is used, even if this property is set to false.- Specified by:
cookieForceSecure
in interfaceOidcTenantConfig.Authentication
-
cookieSuffix
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Cookie name suffix. For example, a session cookie name for the default OIDC tenant is `q_session` but can be changed to `q_session_test` if this property is set to `test`.- Specified by:
cookieSuffix
in interfaceOidcTenantConfig.Authentication
-
cookiePath
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Cookie path parameter value which, if set, is used to set a path parameter for the session, state and post logout cookies. The `cookie-path-header` property, if set, is checked first.- Specified by:
cookiePath
in interfaceOidcTenantConfig.Authentication
-
cookiePathHeader
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Cookie path header parameter value which, if set, identifies the incoming HTTP header whose value is used to set a path parameter for the session, state and post logout cookies. If the header is missing, the `cookie-path` property is checked.- Specified by:
cookiePathHeader
in interfaceOidcTenantConfig.Authentication
-
cookieDomain
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Cookie domain parameter value which, if set, is used for the session, state and post logout cookies.- Specified by:
cookieDomain
in interfaceOidcTenantConfig.Authentication
-
cookieSameSite
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
SameSite attribute for the session cookie.- Specified by:
cookieSameSite
in interfaceOidcTenantConfig.Authentication
-
allowMultipleCodeFlows
public boolean allowMultipleCodeFlows()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
If a state cookie is present, a `state` query parameter must also be present and both the state cookie name suffix and state cookie value must match the value of the `state` query parameter when the redirect path matches the current path. However, if multiple authentications are attempted from the same browser, for example, from the different browser tabs, then the currently available state cookie might represent the authentication flow initiated from another tab and not related to the current request. Disable this property to permit only a single authorization code flow in the same browser.- Specified by:
allowMultipleCodeFlows
in interfaceOidcTenantConfig.Authentication
-
failOnMissingStateParam
public boolean failOnMissingStateParam()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Fail with the HTTP 401 error if the state cookie is present but no state query parameter is present. When either multiple authentications are disabled or the redirect URL matches the original request URL, the stale state cookie might remain in the browser cache from the earlier failed redirect to an OpenId Connect provider and be visible during the current request. For example, if Single-page application (SPA) uses XHR to handle redirects to the provider which does not support CORS for its authorization endpoint, the browser blocks it and the state cookie created by Quarkus remains in the browser cache. Quarkus reports an authentication failure when it detects such an old state cookie but find no matching state query parameter. Reporting HTTP 401 error is usually the right thing to do in such cases, it minimizes a risk of the browser redirect loop but also can identify problems in the way SPA or Quarkus application manage redirects. For example, enablingOidcTenantConfig.Authentication.javaScriptAutoRedirect()
or having the provider redirect to URL configured withOidcTenantConfig.Authentication.redirectPath()
might be needed to avoid such errors. However, setting this property to `false` might help if the above options are not suitable. It causes a new authentication redirect to OpenId Connect provider. Doing so might increase the risk of browser redirect loops.- Specified by:
failOnMissingStateParam
in interfaceOidcTenantConfig.Authentication
-
userInfoRequired
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
If this property is set to `true`, an OIDC UserInfo endpoint is called.This property is enabled automatically if `quarkus.oidc.roles.source` is set to `userinfo` or `quarkus.oidc.token.verify-access-token-with-user-info` is set to `true` or `quarkus.oidc.authentication.id-token-required` is set to `false`, the current OIDC tenant must support a UserInfo endpoint in these cases.
It is also enabled automatically if `io.quarkus.oidc.UserInfo` injection point is detected but only if the current OIDC tenant supports a UserInfo endpoint.
- Specified by:
userInfoRequired
in interfaceOidcTenantConfig.Authentication
-
sessionAgeExtension
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Session age extension in minutes. The user session age property is set to the value of the ID token life-span by default and the user is redirected to the OIDC provider to re-authenticate once the session has expired. If this property is set to a nonzero value, then the expired ID token can be refreshed before the session has expired. This property is ignored if the `token.refresh-expired` property has not been enabled.- Specified by:
sessionAgeExtension
in interfaceOidcTenantConfig.Authentication
-
stateCookieAge
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
State cookie age in minutes. State cookie is created every time a new authorization code flow redirect starts and removed when this flow is completed. State cookie name is unique by default, seeOidcTenantConfig.Authentication.allowMultipleCodeFlows()
. Keep its age to the reasonable minimum value such as 5 minutes or less.- Specified by:
stateCookieAge
in interfaceOidcTenantConfig.Authentication
-
javaScriptAutoRedirect
public boolean javaScriptAutoRedirect()Deprecated.Description copied from interface:OidcTenantConfig.Authentication
If this property is set to `true`, a normal 302 redirect response is returned if the request was initiated by a JavaScript API such as XMLHttpRequest or Fetch and the current user needs to be (re)authenticated, which might not be desirable for Single-page applications (SPA) since it automatically following the redirect might not work given that OIDC authorization endpoints typically do not support CORS. If this property is set to `false`, a status code of `499` is returned to allow SPA to handle the redirect manually if a request header identifying current request as a JavaScript request is found. `X-Requested-With` request header with its value set to either `JavaScript` or `XMLHttpRequest` is expected by default if this property is enabled. You can register a custom JavaScriptRequestChecker to do a custom JavaScript request check instead.- Specified by:
javaScriptAutoRedirect
in interfaceOidcTenantConfig.Authentication
-
idTokenRequired
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Requires that ID token is available when the authorization code flow completes. Disable this property only when you need to use the authorization code flow with OAuth2 providers which do not return ID token - an internal IdToken is generated in such cases.- Specified by:
idTokenRequired
in interfaceOidcTenantConfig.Authentication
-
internalIdTokenLifespan
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Internal ID token lifespan. This property is only checked when an internal IdToken is generated when OAuth2 providers do not return IdToken. If this property is not configured then an access token `expires_in` property in the OAuth2 authorization code flow response is used to set an internal IdToken lifespan.- Specified by:
internalIdTokenLifespan
in interfaceOidcTenantConfig.Authentication
-
pkceRequired
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Requires that a Proof Key for Code Exchange (PKCE) is used.- Specified by:
pkceRequired
in interfaceOidcTenantConfig.Authentication
-
pkceSecret
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Secret used to encrypt a Proof Key for Code Exchange (PKCE) code verifier in the code flow state. This secret should be at least 32 characters long.- Specified by:
pkceSecret
in interfaceOidcTenantConfig.Authentication
-
stateSecret
Deprecated.Description copied from interface:OidcTenantConfig.Authentication
Secret used to encrypt Proof Key for Code Exchange (PKCE) code verifier and/or nonce in the code flow state. This secret should be at least 32 characters long. If this secret is not set, the client secret configured with either `quarkus.oidc.credentials.secret` or `quarkus.oidc.credentials.client-secret.value` is checked. Finally, `quarkus.oidc.credentials.jwt.secret` which can be used for `client_jwt_secret` authentication is checked. A client secret is not be used as a state encryption secret if it is less than 32 characters long. The secret is auto-generated if it remains uninitialized after checking all of these properties. Error is reported if the secret length is less than 16 characters.- Specified by:
stateSecret
in interfaceOidcTenantConfig.Authentication
-
getInternalIdTokenLifespan
Deprecated. -
setInternalIdTokenLifespan
Deprecated. -
isPkceRequired
Deprecated. -
setPkceRequired
public void setPkceRequired(boolean pkceRequired) Deprecated. -
getPkceSecret
Deprecated, for removal: This API element is subject to removal in a future version. -
setPkceSecret
Deprecated, for removal: This API element is subject to removal in a future version. -
getErrorPath
Deprecated. -
setErrorPath
Deprecated. -
isJavaScriptAutoRedirect
public boolean isJavaScriptAutoRedirect()Deprecated. -
setJavaScriptAutoredirect
public void setJavaScriptAutoredirect(boolean autoRedirect) Deprecated. -
getRedirectPath
Deprecated. -
setRedirectPath
Deprecated. -
getScopes
Deprecated. -
setScopes
Deprecated. -
getExtraParams
Deprecated. -
setExtraParams
Deprecated. -
setAddOpenidScope
public void setAddOpenidScope(boolean addOpenidScope) Deprecated. -
isAddOpenidScope
Deprecated. -
isForceRedirectHttpsScheme
Deprecated. -
setForceRedirectHttpsScheme
public void setForceRedirectHttpsScheme(boolean forceRedirectHttpsScheme) Deprecated. -
isRestorePathAfterRedirect
public boolean isRestorePathAfterRedirect()Deprecated. -
setRestorePathAfterRedirect
public void setRestorePathAfterRedirect(boolean restorePathAfterRedirect) Deprecated. -
isCookieForceSecure
public boolean isCookieForceSecure()Deprecated. -
setCookieForceSecure
public void setCookieForceSecure(boolean cookieForceSecure) Deprecated. -
getCookiePath
Deprecated. -
setCookiePath
Deprecated. -
getCookieDomain
Deprecated. -
setCookieDomain
Deprecated. -
isUserInfoRequired
Deprecated. -
setUserInfoRequired
public void setUserInfoRequired(boolean userInfoRequired) Deprecated. -
isRemoveRedirectParameters
public boolean isRemoveRedirectParameters()Deprecated. -
setRemoveRedirectParameters
public void setRemoveRedirectParameters(boolean removeRedirectParameters) Deprecated. -
isVerifyAccessToken
public boolean isVerifyAccessToken()Deprecated. -
setVerifyAccessToken
public void setVerifyAccessToken(boolean verifyAccessToken) Deprecated. -
getSessionAgeExtension
Deprecated. -
setSessionAgeExtension
Deprecated. -
getCookiePathHeader
Deprecated. -
setCookiePathHeader
Deprecated. -
isIdTokenRequired
Deprecated. -
setIdTokenRequired
public void setIdTokenRequired(boolean idTokenRequired) Deprecated. -
getCookieSuffix
Deprecated. -
setCookieSuffix
Deprecated. -
getResponseMode
Deprecated. -
setResponseMode
Deprecated. -
getForwardParams
Deprecated. -
setForwardParams
Deprecated. -
getCookieSameSite
Deprecated. -
setCookieSameSite
Deprecated. -
isAllowMultipleCodeFlows
public boolean isAllowMultipleCodeFlows()Deprecated. -
setAllowMultipleCodeFlows
public void setAllowMultipleCodeFlows(boolean allowMultipleCodeFlows) Deprecated. -
isNonceRequired
public boolean isNonceRequired()Deprecated. -
setNonceRequired
public void setNonceRequired(boolean nonceRequired) Deprecated. -
getStateSecret
Deprecated. -
setStateSecret
Deprecated. -
getScopeSeparator
Deprecated. -
setScopeSeparator
Deprecated. -
getStateCookieAge
Deprecated. -
setStateCookieAge
Deprecated. -
getSessionExpiredPath
Deprecated. -
setSessionExpiredPath
Deprecated.
-
AuthenticationConfigBuilder
builder