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
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
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
private final String
private final String
private final String
private static final String
private final HttpClient
private final String
private static final Logger
private String
-
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 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 TypeMethodDescriptionvoid
protected void
doStart()
Starts the managed lifecycle beans in the order they were added.fetchOpenIdConnectMetadata
(String provider, HttpClient httpClient) private static HttpClient
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
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.Dumpable.DumpableContainer
isDumpable
-
Field Details
-
LOG
-
CONFIG_PATH
- See Also:
-
httpClient
-
issuer
-
clientId
-
clientSecret
-
scopes
-
authMethod
-
authEndpoint
-
tokenEndpoint
-
-
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
- TheHttpClient
instance to use.
-
OpenIdConfiguration
public OpenIdConfiguration(String issuer, String authorizationEndpoint, String tokenEndpoint, String clientId, String clientSecret, String authMethod, 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
- 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
-
newHttpClient
-
fetchOpenIdConnectMetadata
private static Map<String,Object> fetchOpenIdConnectMetadata(String provider, HttpClient httpClient) -
getHttpClient
-
getAuthEndpoint
-
getClientId
-
getClientSecret
-
getIssuer
-
getTokenEndpoint
-
getAuthMethod
-
addScopes
-
getScopes
-