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 classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener, AbstractLifeCycle.StopExceptionNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionOpenIdConfiguration(String provider, String clientId, String clientSecret) Create an OpenID configuration for a specific OIDC provider.OpenIdConfiguration(String issuer, String authorizationEndpoint, String tokenEndpoint, String endSessionEndpoint, String clientId, String clientSecret, String authMethod, HttpClient httpClient) Create an OpenID configuration for a specific OIDC provider.OpenIdConfiguration(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, String authMethod, HttpClient httpClient) Create an OpenID configuration for a specific OIDC provider.OpenIdConfiguration(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, HttpClient httpClient) Create an OpenID configuration for a specific OIDC provider. -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voiddoStart()Starts the managed lifecycle beans in the order they were added.Obtain the JSON metadata from OpenID Connect Discovery Configuration Endpoint.booleanbooleanprotected voidprocessMetadata(Map<String, Object> discoveryDocument) Process the OpenID Connect metadata discovered byfetchOpenIdConnectMetadata().voidsetAuthenticateNewUsers(boolean authenticateNewUsers) voidsetLogoutWhenIdTokenIsExpired(boolean logoutWhenIdTokenIsExpired) 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, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Container
getCachedBeans, getEventListenersMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
-
Constructor Details
-
OpenIdConfiguration
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
public OpenIdConfiguration(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, HttpClient httpClient) 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- TheHttpClientinstance to use.
-
OpenIdConfiguration
public OpenIdConfiguration(@Name("issuer") String issuer, @Name("authorizationEndpoint") String authorizationEndpoint, @Name("tokenEndpoint") String tokenEndpoint, @Name("clientId") String clientId, @Name("clientSecret") String clientSecret, @Name("authMethod") String authMethod, @Name("httpClient") HttpClient httpClient) 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.authMethod- Authentication method to use with the Token Endpoint.httpClient- TheHttpClientinstance to use.
-
OpenIdConfiguration
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("authMethod") String authMethod, @Name("httpClient") HttpClient httpClient) 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 OpdnID 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.authMethod- Authentication method to use with the Token Endpoint.httpClient- TheHttpClientinstance to use.
-
-
Method Details
-
doStart
Description copied from class:ContainerLifeCycleStarts the managed lifecycle beans in the order they were added.- Overrides:
doStartin classContainerLifeCycle- Throws:
AbstractLifeCycle.StopException- If thrown, the lifecycle will immediately be stopped.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_ENDPOINTandTOKEN_ENDPOINTclaims 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
-
getAuthEndpoint
-
getClientId
-
getClientSecret
-
getIssuer
-
getTokenEndpoint
-
getEndSessionEndpoint
-
getAuthMethod
-
addScopes
-
getScopes
-
isAuthenticateNewUsers
public boolean isAuthenticateNewUsers() -
setAuthenticateNewUsers
public void setAuthenticateNewUsers(boolean authenticateNewUsers) -
isLogoutWhenIdTokenIsExpired
public boolean isLogoutWhenIdTokenIsExpired() -
setLogoutWhenIdTokenIsExpired
public void setLogoutWhenIdTokenIsExpired(boolean logoutWhenIdTokenIsExpired) -
toString
- Overrides:
toStringin classAbstractLifeCycle
-