Class AbstractClientIdMetadataDocumentExecutorFactory
java.lang.Object
org.keycloak.protocol.oauth2.cimd.clientpolicy.executor.AbstractClientIdMetadataDocumentExecutorFactory
- All Implemented Interfaces:
ConfiguredProvider,EnvironmentDependentProviderFactory,ProviderFactory<ClientPolicyExecutorProvider>,ClientPolicyExecutorProviderFactory
- Direct Known Subclasses:
ClientIdMetadataDocumentExecutorFactory
public abstract class AbstractClientIdMetadataDocumentExecutorFactory
extends Object
implements ClientPolicyExecutorProviderFactory, EnvironmentDependentProviderFactory
The abstract class is the factory class of
AbstractClientIdMetadataDocumentExecutor.
It provides the following configurations:
- Client ID Verification / Client Metadata Verification (URL related)
- Allow http scheme: allows http scheme of a URI (for development environment)<
- Client ID Validation
- Trusted domains: only allow a URI whose hostname is under the one of the permitted domain (wildcard * can be used)
- Client Metadata Validation
- Restrict same domain: only allow {client_id} and {redirect_uri} parameter of an authorization request whose hostname is under the one of the permitted domain (wildcard * can be used)
- Required properties: only allow a client metadata that includes all required properties
- Author:
- Takashi Norimatsu
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static voidaddCommonConfigProperties(List<ProviderConfigProperty> configProperties) voidclose()This is called when the server shuts down.Returns the metadata for each configuration property supported by this factory.voidinit(Config.Scope config) Only called once when the factory is first created.booleanisSupported(Config.Scope config) Check if the provider is supported and should be available based on the provider configuration.voidpostInit(KeycloakSessionFactory factory) Called after all provider factories have been initializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.keycloak.provider.ConfiguredProvider
getConfig, getConfigPropertiesMethods inherited from interface org.keycloak.provider.ProviderFactory
create, dependsOn, getId, order
-
Field Details
-
ALLOW_HTTP_SCHEME
- See Also:
-
TRUSTED_DOMAINS
- See Also:
-
REQUIRED_PROPERTIES
- See Also:
-
RESTRICT_SAME_DOMAIN
- See Also:
-
CONFIG_CIMD_PROVIDER_NAME
- See Also:
-
CONFIG_MIN_CACHE_TIME
- See Also:
-
CONFIG_MAX_CACHE_TIME
- See Also:
-
CONFIG_UPPER_LIMIT_METADATA_BYTES
- See Also:
-
providerConfig
-
-
Constructor Details
-
AbstractClientIdMetadataDocumentExecutorFactory
public AbstractClientIdMetadataDocumentExecutorFactory()
-
-
Method Details
-
init
Description copied from interface:ProviderFactoryOnly called once when the factory is first created.- Specified by:
initin interfaceProviderFactory<ClientPolicyExecutorProvider>
-
postInit
Description copied from interface:ProviderFactoryCalled after all provider factories have been initialized- Specified by:
postInitin interfaceProviderFactory<ClientPolicyExecutorProvider>
-
close
public void close()Description copied from interface:ProviderFactoryThis is called when the server shuts down.- Specified by:
closein interfaceProviderFactory<ClientPolicyExecutorProvider>
-
getHelpText
- Specified by:
getHelpTextin interfaceConfiguredProvider
-
addCommonConfigProperties
-
getConfigMetadata
Description copied from interface:ProviderFactoryReturns the metadata for each configuration property supported by this factory.- Specified by:
getConfigMetadatain interfaceProviderFactory<ClientPolicyExecutorProvider>- Returns:
- a list with the metadata for each configuration property supported by this factory
-
isSupported
Description copied from interface:EnvironmentDependentProviderFactoryCheck if the provider is supported and should be available based on the provider configuration.- Specified by:
isSupportedin interfaceClientPolicyExecutorProviderFactory- Specified by:
isSupportedin interfaceEnvironmentDependentProviderFactory- Parameters:
config- the provider configuration- Returns:
trueif the provider is supported. Otherwise,false.
-