Class DefaultRelyingPartyConfigurationResolver
java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.profile.relyingparty.impl.DefaultRelyingPartyConfigurationResolver
- All Implemented Interfaces:
RelyingPartyConfigurationResolver,Component,DestructableComponent,IdentifiableComponent,IdentifiedComponent,InitializableComponent,Resolver<RelyingPartyConfiguration,CriteriaSet>
public class DefaultRelyingPartyConfigurationResolver
extends AbstractIdentifiableInitializableComponent
implements RelyingPartyConfigurationResolver
Retrieves a per-relying party configuration for a given profile request based on the
supplied
CriteriaSet.
Supported Criterion:
Note that this resolver does not permit more than one RelyingPartyConfiguration with the same ID.
- Since:
- 5.0.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionStored copy of metric for teardown.Map of override counters.private static final StringCounter ID for default RP.private RelyingPartyConfigurationDefault relying party, used if no other verified instance matches.private List<Credential>The global list of all configured encryption credentials.private final org.slf4j.LoggerClass logger.private StringName for counter map metric.private List<RelyingPartyConfiguration>Registered relying party configurations.private List<Credential>The global list of all configured signing credentials.private static final StringCounter ID for unverified RP.private RelyingPartyConfigurationUnverified relying party configuration, used if the request is unverified. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidprotected voidGet theRelyingPartyConfigurationto use if no other configuration is applicable.Directly expose any configured encryption (really decryption) credentials.Gets the metric name to use to use for counters to track use of configurations.private ProfileRequestContextgetProfileRequestContext(CriteriaSet criteria) Get theProfileRequestContextincluded in the input criteria, if any.Collection<? extends RelyingPartyConfiguration>Get an unmodifiable list of verified relying party configurations.Directly expose any configured signing credentials.Get theRelyingPartyConfigurationto use if the configuration is found to be "unverified" (via use ofVerifiedProfileCriterion).private voidIncrement relying party counter.resolve(CriteriaSet criteria) private EntityDescriptorresolveEntityDescriptor(CriteriaSet criteria) Resolve the EntityDescriptor from the criteria.private StringresolveEntityID(CriteriaSet criteria) Resolve the entityID from the criteria.private RoleDescriptorresolveRoleDescriptor(CriteriaSet criteria) Resolve the RoleDescriptor from the criteria.resolveSingle(CriteriaSet criteria) voidsetDefaultConfiguration(RelyingPartyConfiguration configuration) Set theRelyingPartyConfigurationto use if no other configuration is applicable.voidsetEncryptionCredentials(List<CredentialHolder> credentials) Set the list of all configured encryption credentials.voidsetMetricName(String name) Set name of metric to use for counters to track use of configurations.voidsetRelyingPartyConfigurations(Collection<? extends RelyingPartyConfiguration> configs) Set the verified relying party configurations.voidsetSigningCredentials(List<CredentialHolder> credentials) Set the list of all configured signing credentials.voidsetUnverifiedConfiguration(RelyingPartyConfiguration configuration) Set theRelyingPartyConfigurationto use if the configuration is found to be "unverified" (via use ofVerifiedProfileCriterion).Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
setIdMethods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentExceptionMethods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent
checkComponentActive, checkSetterPreconditions, destroy, initialize, isDestroyed, isInitializedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.shibboleth.shared.component.IdentifiedComponent
getId
-
Field Details
-
DEFAULT_RELYING_PARTY_COUNTER
Counter ID for default RP.- See Also:
-
UNVERIFIED_RELYING_PARTY_COUNTER
Counter ID for unverified RP.- See Also:
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
rpConfigurations
Registered relying party configurations. -
defaultRelyingPartyConfiguration
Default relying party, used if no other verified instance matches. -
unverifiedConfiguration
Unverified relying party configuration, used if the request is unverified. -
signingCredentials
The global list of all configured signing credentials. -
encryptionCredentials
The global list of all configured encryption credentials. -
metricName
Name for counter map metric. -
counterGauge
Stored copy of metric for teardown. -
counterMap
Map of override counters.
-
-
Constructor Details
-
DefaultRelyingPartyConfigurationResolver
public DefaultRelyingPartyConfigurationResolver()Constructor.
-
-
Method Details
-
getRelyingPartyConfigurations
@Nonnull @Unmodifiable @NotLive public Collection<? extends RelyingPartyConfiguration> getRelyingPartyConfigurations()Get an unmodifiable list of verified relying party configurations.- Returns:
- unmodifiable list of verified relying party configurations
-
setRelyingPartyConfigurations
public void setRelyingPartyConfigurations(@Nullable Collection<? extends RelyingPartyConfiguration> configs) Set the verified relying party configurations.- Parameters:
configs- list of verified relying party configurations
-
getDefaultConfiguration
Get theRelyingPartyConfigurationto use if no other configuration is applicable.- Returns:
- default configuration
-
setDefaultConfiguration
Set theRelyingPartyConfigurationto use if no other configuration is applicable.- Parameters:
configuration- default configuration
-
getUnverifiedConfiguration
Get theRelyingPartyConfigurationto use if the configuration is found to be "unverified" (via use ofVerifiedProfileCriterion).- Returns:
- unverified configuration
-
setUnverifiedConfiguration
Set theRelyingPartyConfigurationto use if the configuration is found to be "unverified" (via use ofVerifiedProfileCriterion).- Parameters:
configuration- unverified configuration
-
getMetricName
Gets the metric name to use to use for counters to track use of configurations.- Returns:
- name for counter metrics
- Since:
- 5.1.3
-
setMetricName
Set name of metric to use for counters to track use of configurations.- Parameters:
name- name for counter metrics- Since:
- 5.0.0
-
doInitialize
- Overrides:
doInitializein classAbstractIdentifiedInitializableComponent- Throws:
ComponentInitializationException
-
doDestroy
protected void doDestroy()- Overrides:
doDestroyin classAbstractInitializableComponent
-
getSigningCredentials
Directly expose any configured signing credentials.- Specified by:
getSigningCredentialsin interfaceRelyingPartyConfigurationResolver- Returns:
- signing credentials
-
setSigningCredentials
@Autowired @Qualifier("signing") public void setSigningCredentials(@Nullable List<CredentialHolder> credentials) Set the list of all configured signing credentials.- Parameters:
credentials- the list of signing credentials, may be null
-
getEncryptionCredentials
Directly expose any configured encryption (really decryption) credentials.- Specified by:
getEncryptionCredentialsin interfaceRelyingPartyConfigurationResolver- Returns:
- signing credentials
-
setEncryptionCredentials
@Autowired @Qualifier("encryption") public void setEncryptionCredentials(@Nullable List<CredentialHolder> credentials) Set the list of all configured encryption credentials.- Parameters:
credentials- the list of encryption credentials, may be null
-
increment
Increment relying party counter.- Parameters:
name- name of counter
-