public class MetadataManagerConfigurer extends org.springframework.security.config.annotation.SecurityConfigurerAdapter<Void,ServiceProviderBuilder>
MetadataManager bean.
Common strategy across most internal configurers is to first give priority to a Spring Bean if present in the
Context. So if not MetadataManager bean is defined, priority goes to a custom MetadataManager provided
explicitly to this configurer through the constructor. And if not provided through the constructor, a default
implementation is instantiated that is configurable through the DSL methods.
This configurer also reads the values from SAMLSSOProperties#getMetadataManager() and
SAMLSSOProperties#getExtendedDelegate() if no custom MetadataManager
is provided, for some DSL methods if they are not used. In other words, the user is able to configure the
MetadataManager through the
following properties:
saml.sso.metadata-manager.default-idp
saml.sso.metadata-manager.hosted-sp-name
saml.sso.metadata-manager.refresh-check-interval
saml.sso.extended-delegate.metadata-trusted-keys
saml.sso.extended-delegate.metadata-trust-check
saml.sso.extended-delegate.force-metadata-revocation-check
saml.sso.extended-delegate.metadata-require-signature
saml.sso.extended-delegate.require-valid-metadata
saml.sso.local-extended-delegate.metadata-trusted-keys
saml.sso.local-extended-delegate.metadata-trust-check
saml.sso.local-extended-delegate.force-metadata-revocation-check
saml.sso.local-extended-delegate.metadata-require-signature
saml.sso.local-extended-delegate.require-valid-metadata
saml.sso.idp.metadata-location
| Constructor and Description |
|---|
MetadataManagerConfigurer() |
MetadataManagerConfigurer(org.springframework.security.saml.metadata.MetadataManager metadataManager) |
| Modifier and Type | Method and Description |
|---|---|
void |
configure(ServiceProviderBuilder builder) |
protected org.springframework.security.saml.metadata.ExtendedMetadataDelegate |
createDefaultExtendedMetadataDelegate(org.opensaml.saml2.metadata.provider.MetadataProvider provider,
org.springframework.security.saml.metadata.ExtendedMetadata extendedMetadata) |
protected org.springframework.security.saml.metadata.CachingMetadataManager |
createDefaultMetadataManager() |
protected org.opensaml.saml2.metadata.provider.MetadataProvider |
createDefaultMetadataProvider(String location) |
MetadataManagerConfigurer |
defaultIDP(String defaultIDP)
Sets name of IDP to be used as default.
|
MetadataManagerConfigurer |
forceMetadataRevocationCheck(boolean forceMetadataRevocationCheck)
Determines whether check for certificate revocation should always be done as part of the PKIX validation.
|
MetadataManagerConfigurer |
hostedSPName(String hostedSPName)
Sets nameId of SP hosted on this machine.
|
void |
init(ServiceProviderBuilder builder) |
MetadataManagerConfigurer |
localForceMetadataRevocationCheck(boolean forceMetadataRevocationCheck)
Determines whether check for certificate revocation should always be done as part of the PKIX validation.
|
MetadataManagerConfigurer |
localMetadataFilter(org.opensaml.saml2.metadata.provider.MetadataFilter filter)
Sets the metadata filter applied to the LOCAL metadata.
|
MetadataManagerConfigurer |
localMetadataLocation(String providerLocation)
Specify the location of the metadata file to be loaded as
ResourceBackedMetadataProvider. |
MetadataManagerConfigurer |
localMetadataRequireSignature(boolean metadataRequireSignature)
When set to true metadata from this provider should only be accepted when correctly signed and verified.
|
MetadataManagerConfigurer |
localMetadataTrustCheck(boolean metadataTrustCheck)
When true metadata signature will be verified for trust using PKIX with metadataTrustedKeys
as anchors.
|
MetadataManagerConfigurer |
localMetadataTrustedKeys(String... metadataTrustedKeys)
Keys stored in the KeyManager which can be used to verify whether signature of the metadata is trusted.
|
MetadataManagerConfigurer |
localRequireValidMetadata(boolean requireValidMetadata)
Sets whether the metadata returned by queries must be valid.
|
MetadataManagerConfigurer |
metadataFilter(org.opensaml.saml2.metadata.provider.MetadataFilter filter)
Sets the metadata filter applied to the metadata.
|
MetadataManagerConfigurer |
metadataLocations(String... providerLocation)
Specify the location(s) of the metadata files to be loaded as
ResourceBackedMetadataProvider. |
MetadataManagerConfigurer |
metadataProvider(org.opensaml.saml2.metadata.provider.MetadataProvider provider)
Adds a new
MetadataProvider to the MetadataManager. |
MetadataManagerConfigurer |
metadataProviders(List<org.opensaml.saml2.metadata.provider.MetadataProvider> providers)
Sets the provided
MetadataProviders in the MetadataManager. |
MetadataManagerConfigurer |
metadataProviders(org.opensaml.saml2.metadata.provider.MetadataProvider... providers)
Sets the provided
MetadataProviders in the MetadataManager. |
MetadataManagerConfigurer |
metadataRequireSignature(boolean metadataRequireSignature)
When set to true metadata from this provider should only be accepted when correctly signed and verified.
|
MetadataManagerConfigurer |
metadataTrustCheck(boolean metadataTrustCheck)
When true metadata signature will be verified for trust using PKIX with metadataTrustedKeys
as anchors.
|
MetadataManagerConfigurer |
metadataTrustedKeys(String... metadataTrustedKeys)
Keys stored in the KeyManager which can be used to verify whether signature of the metadata is trusted.
|
MetadataManagerConfigurer |
refreshCheckInterval(long refreshCheckInterval)
Interval in milliseconds used for re-verification of metadata and their reload.
|
MetadataManagerConfigurer |
requireValidMetadata(boolean requireValidMetadata)
Sets whether the metadata returned by queries must be valid.
|
public MetadataManagerConfigurer(org.springframework.security.saml.metadata.MetadataManager metadataManager)
public MetadataManagerConfigurer()
public void init(ServiceProviderBuilder builder) throws Exception
init in interface org.springframework.security.config.annotation.SecurityConfigurer<Void,ServiceProviderBuilder>init in class org.springframework.security.config.annotation.SecurityConfigurerAdapter<Void,ServiceProviderBuilder>Exceptionpublic void configure(ServiceProviderBuilder builder) throws Exception
configure in interface org.springframework.security.config.annotation.SecurityConfigurer<Void,ServiceProviderBuilder>configure in class org.springframework.security.config.annotation.SecurityConfigurerAdapter<Void,ServiceProviderBuilder>Exceptionprotected org.opensaml.saml2.metadata.provider.MetadataProvider createDefaultMetadataProvider(String location) throws org.opensaml.util.resource.ResourceException, org.opensaml.saml2.metadata.provider.MetadataProviderException
org.opensaml.util.resource.ResourceExceptionorg.opensaml.saml2.metadata.provider.MetadataProviderExceptionprotected org.springframework.security.saml.metadata.CachingMetadataManager createDefaultMetadataManager()
throws org.opensaml.saml2.metadata.provider.MetadataProviderException
org.opensaml.saml2.metadata.provider.MetadataProviderExceptionprotected org.springframework.security.saml.metadata.ExtendedMetadataDelegate createDefaultExtendedMetadataDelegate(org.opensaml.saml2.metadata.provider.MetadataProvider provider,
org.springframework.security.saml.metadata.ExtendedMetadata extendedMetadata)
public MetadataManagerConfigurer defaultIDP(String defaultIDP)
Alternatively use property:
saml.sso.metadata-manager.default-idp
defaultIDP - name of IDP to be used as default.public MetadataManagerConfigurer hostedSPName(String hostedSPName)
Alternatively use property:
saml.sso.metadata-manager.hosted-sp-name
hostedSPName - name of metadata describing SP hosted on this machinepublic MetadataManagerConfigurer refreshCheckInterval(long refreshCheckInterval)
In case the value is smaller than zero the timer is not created.
Default is-1.
Alternatively use property:
saml.sso.metadata-manager.refresh-check-interval
refreshCheckInterval - the refresh interval in milliseconds.public MetadataManagerConfigurer metadataProvider(org.opensaml.saml2.metadata.provider.MetadataProvider provider)
MetadataProvider to the MetadataManager. Can be invoked multiple times.
Takes precedence over metadataLocations(String...).provider - the provider to add to the MetadataManager.public MetadataManagerConfigurer metadataProviders(org.opensaml.saml2.metadata.provider.MetadataProvider... providers)
MetadataProviders in the MetadataManager. Invocation if this method overrides
any existing MetadataProvider previously set with metadataProvider(MetadataProvider).
Takes precedence over metadataLocations(String...).providers - the metadata providers to use.public MetadataManagerConfigurer metadataLocations(String... providerLocation)
ResourceBackedMetadataProvider. Not
relevant is using metadataProvider(MetadataProvider), metadataProviders(List), or
metadataProviders(MetadataProvider...)
Alternatively use property:
saml.sso.idp.metadata-location
providerLocation - the metadata files to load.public MetadataManagerConfigurer localMetadataLocation(String providerLocation)
ResourceBackedMetadataProvider. Not
relevant is using metadataProvider(MetadataProvider), metadataProviders(List), or
metadataProviders(MetadataProvider...)
Alternatively use property:
saml.sso.idp.local-metadata-location
providerLocation - the metadata files to load.public MetadataManagerConfigurer metadataProviders(List<org.opensaml.saml2.metadata.provider.MetadataProvider> providers)
MetadataProviders in the MetadataManager. Invocation if this method overrides
any existing MetadataProvider previously set with metadataProvider(MetadataProvider).
Takes precedence over metadataLocations(String...).providers - the metadata providers to use.public MetadataManagerConfigurer metadataFilter(org.opensaml.saml2.metadata.provider.MetadataFilter filter)
filter - the metadata filter applied to the metadatapublic MetadataManagerConfigurer forceMetadataRevocationCheck(boolean forceMetadataRevocationCheck)
false.
Alternatively use property:
saml.sso.extended-delegate.force-metadata-revocation-check
forceMetadataRevocationCheck - revocation flag.public MetadataManagerConfigurer metadataRequireSignature(boolean metadataRequireSignature)
false.
Alternatively use property:
saml.sso.extended-delegate.metadata-require-signature
metadataRequireSignature - flag to set.public MetadataManagerConfigurer metadataTrustCheck(boolean metadataTrustCheck)
false.
Alternatively use property:
saml.sso.extended-delegate.metadata-trust-check
metadataTrustCheck - flag to set.public MetadataManagerConfigurer metadataTrustedKeys(String... metadataTrustedKeys)
Alternatively use property:
saml.sso.extended-delegate.metadata-trusted-keys
metadataTrustedKeys - the names of the trusted keys.public MetadataManagerConfigurer requireValidMetadata(boolean requireValidMetadata)
false.
Alternatively use property:
saml.sso.extended-delegate.require-valid-metadata
requireValidMetadata - whether the metadata returned by queries must be valid.public MetadataManagerConfigurer localMetadataFilter(org.opensaml.saml2.metadata.provider.MetadataFilter filter)
filter - the metadata filter applied to the metadatapublic MetadataManagerConfigurer localForceMetadataRevocationCheck(boolean forceMetadataRevocationCheck)
false.
Alternatively use property:
saml.sso.local-extended-delegate.force-metadata-revocation-check
forceMetadataRevocationCheck - revocation flag.public MetadataManagerConfigurer localMetadataRequireSignature(boolean metadataRequireSignature)
false. For Local Entity
Alternatively use property:
saml.sso.local-extended-delegate.metadata-require-signature
metadataRequireSignature - flag to set.public MetadataManagerConfigurer localMetadataTrustCheck(boolean metadataTrustCheck)
false.
Alternatively use property:
saml.sso.local-extended-delegate.metadata-trust-check
metadataTrustCheck - flag to set.public MetadataManagerConfigurer localMetadataTrustedKeys(String... metadataTrustedKeys)
Alternatively use property:
saml.sso.local-extended-delegate.metadata-trusted-keys
metadataTrustedKeys - the names of the trusted keys.public MetadataManagerConfigurer localRequireValidMetadata(boolean requireValidMetadata)
false.
Alternatively use property:
saml.sso.local-extended-delegate.require-valid-metadata
requireValidMetadata - whether the metadata returned by queries must be valid.Copyright © 2018. All rights reserved.