Class RemoteJwkSetCache
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- org.geant.idpextension.oidc.metadata.resolver.RemoteJwkSetCache
-
- All Implemented Interfaces:
net.shibboleth.utilities.java.support.component.Component,net.shibboleth.utilities.java.support.component.DestructableComponent,net.shibboleth.utilities.java.support.component.IdentifiableComponent,net.shibboleth.utilities.java.support.component.IdentifiedComponent,net.shibboleth.utilities.java.support.component.InitializableComponent
public class RemoteJwkSetCache extends net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponentStores fetched remote key set values for a desired period of time.
-
-
Field Summary
Fields Modifier and Type Field Description static StringCONTEXT_NAMEThe context name in theStorageService.private org.apache.http.client.HttpClienthttpClientTheHttpClientto use.private org.opensaml.security.httpclient.HttpClientSecurityParametershttpClientSecurityParametersHTTP client security parameters.private org.slf4j.LoggerlogLogger.private org.opensaml.storage.StorageServicestorageBacking storage for the remote JWK set contents.
-
Constructor Summary
Constructors Constructor Description RemoteJwkSetCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddoInitialize()com.nimbusds.jose.jwk.JWKSetfetch(String context, URI uri, Instant expires)Returns remote JWK set if found from the cache, otherwise fetches and stores it.com.nimbusds.jose.jwk.JWKSetfetch(URI uri, Instant expires)Returns remote JWK set if found from the cache, otherwise fetches and stores it.org.opensaml.storage.StorageServicegetStorage()Get the backing store for the remote JWK set contents.voidsetHttpClient(org.apache.http.client.HttpClient client)Set theHttpClientto use.voidsetHttpClientSecurityParameters(org.opensaml.security.httpclient.HttpClientSecurityParameters params)Set the optional client security parameters.voidsetStorage(org.opensaml.storage.StorageService storageService)Set the backing store for the remote JWK set contents.-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
setId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
getId
-
Methods inherited from class net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
destroy, doDestroy, initialize, isDestroyed, isInitialized
-
-
-
-
Field Detail
-
CONTEXT_NAME
public static final String CONTEXT_NAME
The context name in theStorageService.- See Also:
- Constant Field Values
-
log
private final org.slf4j.Logger log
Logger.
-
storage
private org.opensaml.storage.StorageService storage
Backing storage for the remote JWK set contents.
-
httpClient
@NonnullAfterInit private org.apache.http.client.HttpClient httpClient
TheHttpClientto use.
-
httpClientSecurityParameters
@Nullable private org.opensaml.security.httpclient.HttpClientSecurityParameters httpClientSecurityParameters
HTTP client security parameters.
-
-
Method Detail
-
getStorage
@NonnullAfterInit public org.opensaml.storage.StorageService getStorage()
Get the backing store for the remote JWK set contents.- Returns:
- the backing store.
-
setStorage
public void setStorage(@Nonnull org.opensaml.storage.StorageService storageService)Set the backing store for the remote JWK set contents.- Parameters:
storageService- backing store to use
-
setHttpClient
public void setHttpClient(@Nonnull org.apache.http.client.HttpClient client)Set theHttpClientto use.- Parameters:
client- client to use
-
setHttpClientSecurityParameters
public void setHttpClientSecurityParameters(@Nullable org.opensaml.security.httpclient.HttpClientSecurityParameters params)Set the optional client security parameters.- Parameters:
params- the new client security parameters
-
doInitialize
public void doInitialize() throws net.shibboleth.utilities.java.support.component.ComponentInitializationException- Overrides:
doInitializein classnet.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent- Throws:
net.shibboleth.utilities.java.support.component.ComponentInitializationException
-
fetch
public com.nimbusds.jose.jwk.JWKSet fetch(@Nonnull URI uri, @Nonnull Instant expires)Returns remote JWK set if found from the cache, otherwise fetches and stores it.- Parameters:
uri- value to checkexpires- time for disposal of value from cache- Returns:
- JWK set, null if not found from the cache and cannot be fetched.
-
fetch
@Nullable public com.nimbusds.jose.jwk.JWKSet fetch(@Nonnull @NotEmpty String context, @Nonnull URI uri, @Nonnull Instant expires)Returns remote JWK set if found from the cache, otherwise fetches and stores it.- Parameters:
context- a context label to subdivide the cacheuri- value to checkexpires- time (in milliseconds since beginning of epoch) for disposal of value from cache- Returns:
- JWK set, null if not found from the cache and cannot be fetched.
-
-