Class ClientInformationCredentialResolver
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.AbstractClientInformationCredentialResolver
net.shibboleth.oidc.security.credential.impl.ClientInformationCredentialResolver
- All Implemented Interfaces:
JOSEObjectCredentialResolver,Component,InitializableComponent,Resolver<Credential,,CriteriaSet> CredentialResolver
public class ClientInformationCredentialResolver
extends AbstractClientInformationCredentialResolver
A
JOSEObjectCredentialResolver that resolves credentials from the jwks or contents of jwks_uri of a
ClientInformation. If the information contains client secret, it's converted into a BasicJWKCredential.
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 final DurationThe remote key refresh interval.private final org.slf4j.LoggerClass logger.private final RemoteJwkSetCacheThe cache for remote JWK key sets. -
Constructor Summary
ConstructorsConstructorDescriptionClientInformationCredentialResolver(RemoteJwkSetCache jwkSetCache) Constructor.ClientInformationCredentialResolver(RemoteJwkSetCache jwkSetCache, Duration interval) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<Credential>resolveFromMetadata(CriteriaSet criteriaSet, OIDCClientInformation information) Fetch the remote JWK Set from the jwk_uri in the RP/Client metadata.protected Iterable<Credential>resolveFromSource(CriteriaSet criteriaSet) Methods inherited from class net.shibboleth.oidc.security.credential.impl.AbstractClientInformationCredentialResolver
initialize, isInitialized, resolveSecretCredentialsMethods 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. -
remoteJwkSetCache
The cache for remote JWK key sets. -
keyFetchInterval
The remote key refresh interval. Default value: 30 minutes.
-
-
Constructor Details
-
ClientInformationCredentialResolver
public ClientInformationCredentialResolver(@Nonnull @ParameterName(name="remoteJwkSetCache") RemoteJwkSetCache jwkSetCache) Constructor.- Parameters:
jwkSetCache- The cache for remote JWK key sets.
-
ClientInformationCredentialResolver
public ClientInformationCredentialResolver(@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