Class AbstractClientIdMetadataDocumentExecutor.ClientMetadataCacheControl

java.lang.Object
org.keycloak.protocol.oauth2.cimd.clientpolicy.executor.AbstractClientIdMetadataDocumentExecutor.ClientMetadataCacheControl
Enclosing class:
AbstractClientIdMetadataDocumentExecutor<CONFIG extends AbstractClientIdMetadataDocumentExecutor.Configuration>

public static class AbstractClientIdMetadataDocumentExecutor.ClientMetadataCacheControl extends Object
The CIMD and MCP specification requires an authorization server to cache a client metadata. The inner class covers the Cache-Control header's directives:
  • only consider directives of a response.
  • do not consider whether private or public.
  • consider max-age and s-maxage directives showing the lifetime of client metadata.
  • s-maxage takes precedence over max-age
  • consider no-cache and no-store directives showing no caching client metadata.
  • do not consider other directives.
  • Constructor Details

    • ClientMetadataCacheControl

      public ClientMetadataCacheControl(String rawCacheControlHeaderValue, int minCacheTime, int maxCacheTime)
  • Method Details

    • isNoCache

      public boolean isNoCache()
    • isNoStore

      public boolean isNoStore()
    • isMaxAge

      public boolean isMaxAge()
    • getMaxAgeValue

      public int getMaxAgeValue()
    • isSmaxAge

      public boolean isSmaxAge()
    • getSmaxAgeValue

      public int getSmaxAgeValue()
    • getNormalizedCacheControlHeaderValue

      public final String getNormalizedCacheControlHeaderValue()
    • getCacheExpiryTimeInSec

      public int getCacheExpiryTimeInSec()