Interface ClientIdMetadataDocumentProvider<CONFIG extends AbstractClientIdMetadataDocumentExecutor.Configuration>
- All Superinterfaces:
Provider
- All Known Implementing Classes:
AbstractPersistentClientIdMetadataDocumentProvider,PersistentClientIdMetadataDocumentProvider
public interface ClientIdMetadataDocumentProvider<CONFIG extends AbstractClientIdMetadataDocumentExecutor.Configuration>
extends 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(ClientRepresentation clientRep) Augments a client metadata.default voidclose()createClientMetadata(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(ClientModel clientModel, int cacheExpiryTimeInSec) Sets a cache expiry time in sec to a client metadata.voidsetCacheExpiryTimeToClientMetadata(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.updateClientMetadata(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
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
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
ClientModel createClientMetadata(AbstractClientIdMetadataDocumentExecutor.OIDCClientRepresentationWithCacheControl clientOIDCWithCacheControl) throws 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:
ClientPolicyException- when creating a client metadata fails
-
updateClientMetadata
ClientModel updateClientMetadata(AbstractClientIdMetadataDocumentExecutor.OIDCClientRepresentationWithCacheControl clientOIDCWithCacheControl) throws 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:
ClientPolicyException- when updating a client metadata fails
-
augmentClientMetadata
Augments a client metadata.- Parameters:
clientRep- a client metadata inClientRepresentation, notnull
-
close
default void close()
-