Class ProviderMetadataCredentialResolver
java.lang.Object
org.opensaml.security.credential.impl.AbstractCredentialResolver
org.opensaml.security.credential.impl.AbstractCriteriaFilteringCredentialResolver
net.shibboleth.oidc.security.credential.impl.BasicJOSEObjectCredentialResolver
net.shibboleth.oidc.security.credential.impl.ProviderMetadataCredentialResolver
- All Implemented Interfaces:
JOSEObjectCredentialResolver,Component,InitializableComponent,Resolver<Credential,,CriteriaSet> CredentialResolver
public class ProviderMetadataCredentialResolver
extends BasicJOSEObjectCredentialResolver
implements InitializableComponent
A
LocalJOSEObjectCredentialResolver that resolves credentials from the jwks_uri of an
OpenID Provider. Further filtering of credentials is provided by the
AbstractCriteriaFilteringCredentialResolver parent class.
Note, only RSA or EC keys are resolved as these are the only key types which should be exposed in public JWKS documents.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanInitialization flag.private final DurationThe remote key refresh interval.private final org.slf4j.LoggerClass logger.private final RemoteJwkSetCacheThe cache for remote JWK key sets. -
Constructor Summary
ConstructorsConstructorDescriptionProviderMetadataCredentialResolver(RemoteJwkSetCache jwkSetCache) Constructor.ProviderMetadataCredentialResolver(RemoteJwkSetCache jwkSetCache, Duration interval) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanprotected Collection<Credential>resolveFromMetadata(CriteriaSet criteriaSet, OIDCProviderMetadata metadata) Fetch the remote JWK Set from the jwk_uri in the OpenID Provider's metadata.protected Iterable<Credential>resolveFromSource(CriteriaSet criteriaSet) Methods inherited from class net.shibboleth.oidc.security.credential.impl.BasicJOSEObjectCredentialResolver
buildJWKCredential, deriveClientSecretCredential, extractKeyIdFromCriteria, populateCredentialsFromKeySet, postProcess, processJWEHeader, processJWSHeaderMethods inherited from class org.opensaml.security.credential.impl.AbstractCriteriaFilteringCredentialResolver
isSatisfyAllPredicates, resolve, setSatisfyAllPredicatesMethods inherited from class org.opensaml.security.credential.impl.AbstractCredentialResolver
resolveSingleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.resolver.Resolver
resolve, resolveSingle
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
isInitialized
private boolean isInitializedInitialization flag. -
remoteJwkSetCache
The cache for remote JWK key sets. -
keyFetchInterval
The remote key refresh interval. Default value: 30 minutes.
-
-
Constructor Details
-
ProviderMetadataCredentialResolver
public ProviderMetadataCredentialResolver(@Nonnull @ParameterName(name="remoteJwkSetCache") RemoteJwkSetCache jwkSetCache) Constructor.- Parameters:
jwkSetCache- The cache for remote JWK key sets.
-
ProviderMetadataCredentialResolver
public ProviderMetadataCredentialResolver(@Nonnull @ParameterName(name="remoteJwkSetCache") RemoteJwkSetCache jwkSetCache, @Nonnull @Positive @ParameterName(name="keyFetchInterval") Duration interval) Constructor.- Parameters:
jwkSetCache- The cache for remote JWK key sets.interval- The remote key refresh interval
-
-
Method Details
-
isInitialized
public boolean isInitialized()- Specified by:
isInitializedin interfaceInitializableComponent
-
initialize
- Specified by:
initializein interfaceInitializableComponent- Throws:
ComponentInitializationException
-