Interface ClientIdMetadataDocumentProvider<CONFIG extends AbstractClientIdMetadataDocumentExecutor.Configuration>
- All Superinterfaces:
org.keycloak.provider.Provider
- All Known Implementing Classes:
AbstractPersistentClientIdMetadataDocumentProvider,PersistentClientIdMetadataDocumentProvider
public interface ClientIdMetadataDocumentProvider<CONFIG extends AbstractClientIdMetadataDocumentExecutor.Configuration>
extends org.keycloak.provider.Provider
The interface provides the following features:
- Determining if (re-)fetching a client metadata is needed
- Concrete process of caching a client metadata: create and update
- Update cache expiry time
- Augment a client metadata in
ClientRepresentation
- Author:
- Takashi Norimatsu
-
Method Summary
Modifier and TypeMethodDescriptionvoidaugmentClientMetadata(org.keycloak.representations.idm.ClientRepresentation clientRep) Augments a client metadata.default voidclose()org.keycloak.models.ClientModelcreateClientMetadata(AbstractClientIdMetadataDocumentExecutor.OIDCClientRepresentationWithCacheControl clientOIDCWithCacheControl) Creates a client metadata.determineFetchOperation(String clientId) Returns if fetching a client metadata to newly create it is needed, or re-fetching a client metadata to update it is needed, or re-fetching is not needed because a client metadata does not expire.Gets a configuration of an executor for Client ID metadata document.voidsetCacheExpiryTimeToClientMetadata(org.keycloak.models.ClientModel clientModel, int cacheExpiryTimeInSec) Sets a cache expiry time in sec to a client metadata.voidsetCacheExpiryTimeToClientMetadata(org.keycloak.representations.idm.ClientRepresentation clientRep, int cacheExpiryTimeInSec) Sets a cache expiry time in sec to a client metadata.voidsetConfiguration(CONFIG configuration) Sets a configuration of an executor for Client ID metadata document.org.keycloak.models.ClientModelupdateClientMetadata(AbstractClientIdMetadataDocumentExecutor.OIDCClientRepresentationWithCacheControl clientOIDCWithCacheControl) Updates a client metadata.
-
Method Details
-
getConfiguration
CONFIG getConfiguration()Gets a configuration of an executor for Client ID metadata document.- Returns:
CONFIG extends AbstractClientIdMetadataDocumentExecutor.Configuration
-
setConfiguration
Sets a configuration of an executor for Client ID metadata document.- Parameters:
configuration- a configuration of an executor for Client ID metadata document, notnull
-
setCacheExpiryTimeToClientMetadata
void setCacheExpiryTimeToClientMetadata(org.keycloak.representations.idm.ClientRepresentation clientRep, int cacheExpiryTimeInSec) Sets a cache expiry time in sec to a client metadata.- Parameters:
clientRep- a client metadata inClientRepresentation, notnullcacheExpiryTimeInSec- when a cache expires in sec
-
setCacheExpiryTimeToClientMetadata
void setCacheExpiryTimeToClientMetadata(org.keycloak.models.ClientModel clientModel, int cacheExpiryTimeInSec) Sets a cache expiry time in sec to a client metadata.- Parameters:
clientModel- a client metadata inClientModel, notnullcacheExpiryTimeInSec- when a cache expires in sec
-
determineFetchOperation
Returns if fetching a client metadata to newly create it is needed, or re-fetching a client metadata to update it is needed, or re-fetching is not needed because a client metadata does not expire.- Parameters:
clientId-client_idparameter of an authorization request, notnull- Returns:
AbstractClientIdMetadataDocumentExecutor.FetchOperation
-
createClientMetadata
org.keycloak.models.ClientModel createClientMetadata(AbstractClientIdMetadataDocumentExecutor.OIDCClientRepresentationWithCacheControl clientOIDCWithCacheControl) throws org.keycloak.services.clientpolicy.ClientPolicyException Creates a client metadata.- Parameters:
clientOIDCWithCacheControl- a combination of a fetched client metadata and Cache-Control header accompanied by it, notnull- Returns:
ClientModela created client metadata inClientModel- Throws:
org.keycloak.services.clientpolicy.ClientPolicyException- when creating a client metadata fails
-
updateClientMetadata
org.keycloak.models.ClientModel updateClientMetadata(AbstractClientIdMetadataDocumentExecutor.OIDCClientRepresentationWithCacheControl clientOIDCWithCacheControl) throws org.keycloak.services.clientpolicy.ClientPolicyException Updates a client metadata.- Parameters:
clientOIDCWithCacheControl- a combination of a re-fetched client metadata and Cache-Control header accompanied by it, notnull- Returns:
ClientModelan updated client metadata inClientModel- Throws:
org.keycloak.services.clientpolicy.ClientPolicyException- when updating a client metadata fails
-
augmentClientMetadata
void augmentClientMetadata(org.keycloak.representations.idm.ClientRepresentation clientRep) Augments a client metadata.- Parameters:
clientRep- a client metadata inClientRepresentation, notnull
-
close
default void close()- Specified by:
closein interfaceorg.keycloak.provider.Provider
-