Class AbstractClientIdMetadataDocumentExecutorFactory

java.lang.Object
org.keycloak.protocol.oauth2.cimd.clientpolicy.executor.AbstractClientIdMetadataDocumentExecutorFactory
All Implemented Interfaces:
org.keycloak.provider.ConfiguredProvider, org.keycloak.provider.EnvironmentDependentProviderFactory, org.keycloak.provider.ProviderFactory<org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider>, org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProviderFactory
Direct Known Subclasses:
ClientIdMetadataDocumentExecutorFactory

public abstract class AbstractClientIdMetadataDocumentExecutorFactory extends Object implements org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProviderFactory, org.keycloak.provider.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 Details

  • Constructor Details

    • AbstractClientIdMetadataDocumentExecutorFactory

      public AbstractClientIdMetadataDocumentExecutorFactory()
  • Method Details

    • init

      public void init(org.keycloak.Config.Scope config)
      Specified by:
      init in interface org.keycloak.provider.ProviderFactory<org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider>
    • postInit

      public void postInit(org.keycloak.models.KeycloakSessionFactory factory)
      Specified by:
      postInit in interface org.keycloak.provider.ProviderFactory<org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider>
    • close

      public void close()
      Specified by:
      close in interface org.keycloak.provider.ProviderFactory<org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider>
    • getHelpText

      public String getHelpText()
      Specified by:
      getHelpText in interface org.keycloak.provider.ConfiguredProvider
    • addCommonConfigProperties

      protected static void addCommonConfigProperties(List<org.keycloak.provider.ProviderConfigProperty> configProperties)
    • getConfigMetadata

      public List<org.keycloak.provider.ProviderConfigProperty> getConfigMetadata()
      Specified by:
      getConfigMetadata in interface org.keycloak.provider.ProviderFactory<org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider>
    • isSupported

      public boolean isSupported(org.keycloak.Config.Scope config)
      Specified by:
      isSupported in interface org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProviderFactory
      Specified by:
      isSupported in interface org.keycloak.provider.EnvironmentDependentProviderFactory