Class OpenIdConfiguration
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.security.openid.OpenIdConfiguration
- All Implemented Interfaces:
Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
Holds the configuration for an OpenID Connect service.
This uses the OpenID Provider URL with the path CONFIG_PATH
to discover
the required information about the OIDC service.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopException
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer, Dumpable.DumpAppendable
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionOpenIdConfiguration
(String provider, String clientId, String clientSecret) Deprecated, for removal: This API element is subject to removal in a future version.OpenIdConfiguration
(String issuer, String authorizationEndpoint, String tokenEndpoint, String endSessionEndpoint, String clientId, String clientSecret, String authenticationMethod, HttpClient httpClient) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead.OpenIdConfiguration
(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, String authenticationMethod, HttpClient httpClient) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead.OpenIdConfiguration
(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, HttpClient httpClient) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Deprecated, for removal: This API element is subject to removal in a future version.useOpenIdConfiguration.Builder
to configure the OpenID Configuration.protected void
doStart()
Starts the managed lifecycle beans in the order they were added.Obtain the JSON metadata from OpenID Connect Discovery Configuration Endpoint.Deprecated, for removal: This API element is subject to removal in a future version.usegetAuthorizationEndpoint()
instead.boolean
boolean
protected void
processMetadata
(Map<String, Object> discoveryDocument) Process the OpenID Connect metadata discovered byfetchOpenIdConnectMetadata()
.void
setAuthenticateNewUsers
(boolean authenticateNewUsers) Deprecated, for removal: This API element is subject to removal in a future version.useOpenIdConfiguration.Builder
to configure the OpenID Configuration.void
setLogoutWhenIdTokenIsExpired
(boolean logoutWhenIdTokenIsExpired) Deprecated, for removal: This API element is subject to removal in a future version.useOpenIdConfiguration.Builder
to configure the OpenID Configuration.toString()
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, installBean, installBean, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListeners
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Constructor Details
-
OpenIdConfiguration
@Deprecated(since="12.1.0", forRemoval=true) public OpenIdConfiguration(String provider, String clientId, String clientSecret) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead.Create an OpenID configuration for a specific OIDC provider.- Parameters:
provider
- The URL of the OpenID provider.clientId
- OAuth 2.0 Client Identifier valid at the Authorization Server.clientSecret
- The client secret known only by the Client and the Authorization Server.
-
OpenIdConfiguration
@Deprecated(since="12.1.0", forRemoval=true) public OpenIdConfiguration(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, HttpClient httpClient) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead.Create an OpenID configuration for a specific OIDC provider.- Parameters:
issuer
- The URL of the OpenID provider.authorizationEndpoint
- the URL of the OpenID provider's authorization endpoint if configured.tokenEndpoint
- the URL of the OpenID provider's token endpoint if configured.clientId
- OAuth 2.0 Client Identifier valid at the Authorization Server.clientSecret
- The client secret known only by the Client and the Authorization Server.httpClient
- TheHttpClient
instance to use.
-
OpenIdConfiguration
@Deprecated(since="12.1.0", forRemoval=true) public OpenIdConfiguration(@Name("issuer") String issuer, @Name("authorizationEndpoint") String authorizationEndpoint, @Name("tokenEndpoint") String tokenEndpoint, @Name("clientId") String clientId, @Name("clientSecret") String clientSecret, @Name("authenticationMethod") String authenticationMethod, @Name("httpClient") HttpClient httpClient) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead.Create an OpenID configuration for a specific OIDC provider.- Parameters:
issuer
- The URL of the OpenID provider.authorizationEndpoint
- the URL of the OpenID provider's authorization endpoint if configured.tokenEndpoint
- the URL of the OpenID provider's token endpoint if configured.clientId
- OAuth 2.0 Client Identifier valid at the Authorization Server.clientSecret
- The client secret known only by the Client and the Authorization Server.authenticationMethod
- Authentication method to use with the Token Endpoint.httpClient
- TheHttpClient
instance to use.
-
OpenIdConfiguration
@Deprecated(since="12.1.0", forRemoval=true) public OpenIdConfiguration(@Name("issuer") String issuer, @Name("authorizationEndpoint") String authorizationEndpoint, @Name("tokenEndpoint") String tokenEndpoint, @Name("endSessionEndpoint") String endSessionEndpoint, @Name("clientId") String clientId, @Name("clientSecret") String clientSecret, @Name("authenticationMethod") String authenticationMethod, @Name("httpClient") HttpClient httpClient) Deprecated, for removal: This API element is subject to removal in a future version.UseOpenIdConfiguration.Builder
instead.Create an OpenID configuration for a specific OIDC provider.- Parameters:
issuer
- The URL of the OpenID provider.authorizationEndpoint
- the URL of the OpenID provider's authorization endpoint if configured.tokenEndpoint
- the URL of the OpenID provider's token endpoint if configured.endSessionEndpoint
- the URL of the OpenID provider's end session endpoint if configured.clientId
- OAuth 2.0 Client Identifier valid at the Authorization Server.clientSecret
- The client secret known only by the Client and the Authorization Server.authenticationMethod
- Authentication method to use with the Token Endpoint.httpClient
- TheHttpClient
instance to use.
-
-
Method Details
-
doStart
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classContainerLifeCycle
- Throws:
Exception
- If there was a problem starting. Will cause a transition to FAILED state
-
processMetadata
Process the OpenID Connect metadata discovered byfetchOpenIdConnectMetadata()
. By default, only theAUTHORIZATION_ENDPOINT
andTOKEN_ENDPOINT
claims are extracted.- Throws:
IllegalStateException
- if a required field is not present in the metadata.- See Also:
-
fetchOpenIdConnectMetadata
Obtain the JSON metadata from OpenID Connect Discovery Configuration Endpoint.- Returns:
- a set of Claims about the OpenID Provider's configuration in JSON format.
- Throws:
IllegalStateException
- if metadata could not be fetched from the OP.
-
getHttpClient
-
getAuthorizationEndpoint
-
getClientId
-
getClientSecret
-
getIssuer
-
getTokenEndpoint
-
getEndSessionEndpoint
-
getAuthenticationMethod
-
getScopes
-
isAuthenticateNewUsers
public boolean isAuthenticateNewUsers() -
isLogoutWhenIdTokenIsExpired
public boolean isLogoutWhenIdTokenIsExpired() -
getAuthEndpoint
Deprecated, for removal: This API element is subject to removal in a future version.usegetAuthorizationEndpoint()
instead. -
setAuthenticateNewUsers
@Deprecated(since="12.1.0", forRemoval=true) public void setAuthenticateNewUsers(boolean authenticateNewUsers) Deprecated, for removal: This API element is subject to removal in a future version.useOpenIdConfiguration.Builder
to configure the OpenID Configuration. -
addScopes
Deprecated, for removal: This API element is subject to removal in a future version.useOpenIdConfiguration.Builder
to configure the OpenID Configuration. -
setLogoutWhenIdTokenIsExpired
@Deprecated(since="12.1.0", forRemoval=true) public void setLogoutWhenIdTokenIsExpired(boolean logoutWhenIdTokenIsExpired) Deprecated, for removal: This API element is subject to removal in a future version.useOpenIdConfiguration.Builder
to configure the OpenID Configuration. -
toString
- Overrides:
toString
in classAbstractLifeCycle
-
OpenIdConfiguration.Builder
instead.