Class DefaultRelyingPartyConfigurationResolver
- java.lang.Object
-
- net.shibboleth.utilities.java.support.component.AbstractInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiedInitializableComponent
-
- net.shibboleth.utilities.java.support.component.AbstractIdentifiableInitializableComponent
-
- net.shibboleth.ext.spring.service.AbstractServiceableComponent<RelyingPartyConfigurationResolver>
-
- net.shibboleth.idp.relyingparty.impl.DefaultRelyingPartyConfigurationResolver
-
- All Implemented Interfaces:
RelyingPartyConfigurationResolver,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,Resolver<RelyingPartyConfiguration,ProfileRequestContext>,ServiceableComponent<RelyingPartyConfigurationResolver>,Aware,ApplicationContextAware
public class DefaultRelyingPartyConfigurationResolver extends AbstractServiceableComponent<RelyingPartyConfigurationResolver> implements RelyingPartyConfigurationResolver
Retrieves a per-relying party configuration for a given profile request based on the request context.Note that this resolver does not permit more than one
RelyingPartyConfigurationwith the same ID.
-
-
Field Summary
Fields Modifier and Type Field Description private RelyingPartyConfigurationdefaultConfigurationDefault relying party configuration, used if no other verified configuration matches.private SecurityConfigurationdefaultSecurityConfigurationA global default security configuration.private List<Credential>encryptionCredentialsThe global list of all configured encryption credentials.private org.slf4j.LoggerlogClass logger.private List<RelyingPartyConfiguration>rpConfigurationsRegistered relying party configurations.private List<Credential>signingCredentialsThe global list of all configured signing credentials.private RelyingPartyConfigurationunverifiedConfigurationUnverified relying party configuration, used if the request is unverified.private Predicate<ProfileRequestContext>verificationPredicateThe predicate which decides if this request is "verified".
-
Constructor Summary
Constructors Constructor Description DefaultRelyingPartyConfigurationResolver()Constructor.
-
Method Summary
-
Methods inherited from class net.shibboleth.ext.spring.service.AbstractServiceableComponent
doDestroy, getApplicationContext, pinComponent, setApplicationContext, unloadComponent, unpinComponent
-
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, initialize, isDestroyed, isInitialized
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.shibboleth.utilities.java.support.component.IdentifiedComponent
getId
-
-
-
-
Field Detail
-
log
@Nonnull private final org.slf4j.Logger log
Class logger.
-
rpConfigurations
@Nonnull private List<RelyingPartyConfiguration> rpConfigurations
Registered relying party configurations.
-
unverifiedConfiguration
@Nullable private RelyingPartyConfiguration unverifiedConfiguration
Unverified relying party configuration, used if the request is unverified.
-
defaultConfiguration
@NonnullAfterInit private RelyingPartyConfiguration defaultConfiguration
Default relying party configuration, used if no other verified configuration matches.
-
verificationPredicate
@NonnullAfterInit private Predicate<ProfileRequestContext> verificationPredicate
The predicate which decides if this request is "verified".
-
defaultSecurityConfiguration
@Nullable private SecurityConfiguration defaultSecurityConfiguration
A global default security configuration.
-
signingCredentials
@Nullable private List<Credential> signingCredentials
The global list of all configured signing credentials.
-
encryptionCredentials
@Nullable private List<Credential> encryptionCredentials
The global list of all configured encryption credentials.
-
-
Method Detail
-
getRelyingPartyConfigurations
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<RelyingPartyConfiguration> getRelyingPartyConfigurations()
Get an unmodifiable list of verified relying party configurations.- Returns:
- unmodifiable list of verified relying party configurations
-
setRelyingPartyConfigurations
public void setRelyingPartyConfigurations(@Nonnull @NonnullElements List<RelyingPartyConfiguration> configs)
Set the verified relying party configurations.- Parameters:
configs- list of verified relying party configurations
-
getDefaultConfiguration
@NonnullAfterInit public RelyingPartyConfiguration getDefaultConfiguration()
Get theRelyingPartyConfigurationto use if no other verified configuration is acceptable.- Returns:
- default verified configuration
-
setDefaultConfiguration
public void setDefaultConfiguration(@Nonnull RelyingPartyConfiguration configuration)Set theRelyingPartyConfigurationto use if no other verified configuration is acceptable.- Parameters:
configuration- default verified configuration
-
getUnverifiedConfiguration
@NonnullAfterInit public RelyingPartyConfiguration getUnverifiedConfiguration()
Get theRelyingPartyConfigurationto use if the configuration is found to be "unverified" (via use ofgetVerificationPredicate()).- Returns:
- unverified configuration
-
setUnverifiedConfiguration
public void setUnverifiedConfiguration(@Nonnull RelyingPartyConfiguration configuration)Set theRelyingPartyConfigurationto use if the configuration is found to be "unverified" (via use ofgetVerificationPredicate()).- Parameters:
configuration- unverified configuration
-
getVerificationPredicate
@Nonnull public Predicate<ProfileRequestContext> getVerificationPredicate()
Get the definition of what a verified request is.- Returns:
- predicate for determination whether request is verified
-
setVerificationPredicate
public void setVerificationPredicate(@Nonnull Predicate<ProfileRequestContext> predicate)Set the definition of what a verified request is.- Parameters:
predicate- predicate to set
-
setDefaultSecurityConfiguration
public void setDefaultSecurityConfiguration(@Nullable SecurityConfiguration config)Set the global defaultSecurityConfiguration.- Parameters:
config- global default
-
doInitialize
protected void doInitialize() throws ComponentInitializationException- Overrides:
doInitializein classAbstractServiceableComponent<RelyingPartyConfigurationResolver>- Throws:
ComponentInitializationException
-
resolve
@Nonnull @NonnullElements public Iterable<RelyingPartyConfiguration> resolve(@Nullable ProfileRequestContext context) throws ResolverException
- Specified by:
resolvein interfaceResolver<RelyingPartyConfiguration,ProfileRequestContext>- Throws:
ResolverException
-
resolveSingle
@Nullable public RelyingPartyConfiguration resolveSingle(@Nullable ProfileRequestContext context) throws ResolverException
- Specified by:
resolveSinglein interfaceResolver<RelyingPartyConfiguration,ProfileRequestContext>- Throws:
ResolverException
-
getDefaultSecurityConfiguration
@Nullable public SecurityConfiguration getDefaultSecurityConfiguration(@Nonnull @NotEmpty String profileId)
Return the default security configuration for the profile.- Specified by:
getDefaultSecurityConfigurationin interfaceRelyingPartyConfigurationResolver- Parameters:
profileId- the profile ID (available viaIdentifiedComponent.getId()- Returns:
- the configured default configuration
-
getSigningCredentials
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getSigningCredentials()
Get the list of all configured signing credentials.- Returns:
- the list of signing credentials
-
setSigningCredentials
@Autowired @Qualifier("signing") public void setSigningCredentials(@Nullable @NonnullElements List<RelyingPartyResolverCredentialHolder> credentials)
Set the list of all configured signing credentials.- Parameters:
credentials- the list of signing credentials, may be null
-
getEncryptionCredentials
@Nonnull @NonnullElements @Unmodifiable @NotLive public List<Credential> getEncryptionCredentials()
Get the list of all configured encryption credentials.- Returns:
- the list of encryption credentials
-
setEncryptionCredentials
@Autowired @Qualifier("encryption") public void setEncryptionCredentials(@Nullable @NonnullElements List<RelyingPartyResolverCredentialHolder> credentials)
Set the list of all configured encryption credentials.- Parameters:
credentials- the list of encryption credentials, may be null
-
getComponent
@Nonnull public RelyingPartyConfigurationResolver getComponent()
- Specified by:
getComponentin interfaceServiceableComponent<RelyingPartyConfigurationResolver>- Specified by:
getComponentin classAbstractServiceableComponent<RelyingPartyConfigurationResolver>
-
-