public class ExtendedMetadataConfigurer extends org.springframework.security.config.annotation.SecurityConfigurerAdapter<Void,ServiceProviderBuilder>
ExtendedMetadata bean.
Common strategy across most internal configurers is to first give priority to a Spring Bean if present in the
Context.
So if not ExtendedMetadata bean is defined, priority goes to a custom ExtendedMetadata 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#getExtendedMetadata() if no custom Extended
Metadata is provided, for some DSL methods if they that are not used. In other words, the user is able to configure
the Extended Metadata through the following properties:
saml.sso.extended-metadata.local
saml.sso.extended-metadata.alias
saml.sso.extended-metadata.idp-discovery-enabled
saml.sso.extended-metadata.idp-discovery-url
saml.sso.extended-metadata.idp-discovery-response-url
saml.sso.extended-metadata.ecp-enabled
saml.sso.extended-metadata.security-profile
saml.sso.extended-metadata.ssl-security-profile
saml.sso.extended-metadata.ssl-hostname-verification
saml.sso.extended-metadata.signing-key
saml.sso.extended-metadata.sign-metadata
saml.sso.extended-metadata.key-info-generator-name
saml.sso.extended-metadata.encryption-key
saml.sso.extended-metadata.tls-key
saml.sso.extended-metadata.trusted-keys
saml.sso.extended-metadata.require-logout-request-signed
saml.sso.extended-metadata.require-logout-response-signed
saml.sso.extended-metadata.require-artifact-resolve-signed
saml.sso.extended-metadata.support-unsolicited-response
| Modifier and Type | Field and Description |
|---|---|
protected org.springframework.security.saml.metadata.ExtendedMetadata |
extendedMetadata |
protected org.springframework.security.saml.metadata.ExtendedMetadata |
extendedMetadataBean |
protected ExtendedMetadataProperties |
extendedMetadataConfig |
protected Boolean |
local |
| Constructor and Description |
|---|
ExtendedMetadataConfigurer() |
ExtendedMetadataConfigurer(org.springframework.security.saml.metadata.ExtendedMetadata extendedMetadata) |
| Modifier and Type | Method and Description |
|---|---|
ExtendedMetadataConfigurer |
alias(String alias)
Local alias of the entity used for construction of well-known metadata address and determining target
entity from incoming requests.
|
void |
configure(ServiceProviderBuilder builder) |
protected org.springframework.security.saml.metadata.ExtendedMetadata |
createExtendedMetadata() |
ExtendedMetadataConfigurer |
ecpEnabled(boolean ecpEnabled)
Indicates whether Enhanced Client/Proxy profile should be used for requests which support it.
|
ExtendedMetadataConfigurer |
encryptionKey(String encryptionKey)
Key (stored in the local keyManager) used for encryption/decryption of messages coming/sent from this entity.
|
ExtendedMetadataConfigurer |
idpDiscoveryEnabled(boolean idpDiscoveryEnabled)
When true IDP discovery will be invoked before initializing WebSSO, unless IDP is already specified inside
SAMLContext.
|
ExtendedMetadataConfigurer |
idpDiscoveryResponseURL(String idpDiscoveryResponseURL)
URL where the discovery service should send back response to our discovery request.
|
ExtendedMetadataConfigurer |
idpDiscoveryURL(String idpDiscoveryURL)
URL of the IDP Discovery service user should be redirected to upon request to determine which IDP to use.
|
void |
init(ServiceProviderBuilder builder) |
ExtendedMetadataConfigurer |
keyInfoGeneratorName(String keyInfoGeneratorName)
Name of generator for KeyInfo elements in metadata and signatures.
|
ExtendedMetadataConfigurer |
local(Boolean local)
Deprecated.
As of version 1.10. Use
ServiceProviderBuilder.extendedMetadata() or ServiceProviderBuilder.localExtendedMetadata() |
ExtendedMetadataConfigurer |
requireArtifactResolveSigned(boolean requireArtifactResolveSigned)
If true received artifactResolve messages will require a signature, sent artifactResolve will be signed.
|
ExtendedMetadataConfigurer |
requireLogoutRequestSigned(boolean requireLogoutRequestSigned)
SAML specification mandates that incoming LogoutRequests must be authenticated.
|
ExtendedMetadataConfigurer |
requireLogoutResponseSigned(boolean requireLogoutResponseSigned)
Flag indicating whether incoming LogoutResposne messages must be authenticated.
|
ExtendedMetadataConfigurer |
securityProfile(String securityProfile)
Profile used for trust verification, MetaIOP by default.
|
protected void |
shareExtendedMetadata(ServiceProviderBuilder builder) |
ExtendedMetadataConfigurer |
signingAlgorithm(String signingAlgorithm)
Algorithm used for creation of digital signatures of this entity.
|
ExtendedMetadataConfigurer |
signingKey(String signingKey)
Key (stored in the local keyManager) used for signing/verifying signature of messages sent/coming from this
entity.
|
ExtendedMetadataConfigurer |
signMetadata(boolean signMetadata)
Flag indicating whether to sign metadata for this entity.
|
ExtendedMetadataConfigurer |
sslHostnameVerification(String sslHostnameVerification)
Hostname verifier to use for verification of SSL connections, e.g.
|
ExtendedMetadataConfigurer |
sslSecurityProfile(String sslSecurityProfile)
Profile used for SSL/TLS trust verification, PKIX by default.
|
ExtendedMetadataConfigurer |
supportUnsolicitedResponse(boolean supportUnsolicitedResponse)
Flag indicating whether to support unsolicited responses (IDP-initialized SSO).
|
ExtendedMetadataConfigurer |
tlsKey(String tlsKey)
Key used for verification of SSL/TLS connections.
|
ExtendedMetadataConfigurer |
trustedKeys(String... trustedKeys)
Keys used as anchors for trust verification when PKIX mode is enabled for the local entity.
|
protected org.springframework.security.saml.metadata.ExtendedMetadata extendedMetadataBean
protected org.springframework.security.saml.metadata.ExtendedMetadata extendedMetadata
protected ExtendedMetadataProperties extendedMetadataConfig
protected Boolean local
public ExtendedMetadataConfigurer()
public ExtendedMetadataConfigurer(org.springframework.security.saml.metadata.ExtendedMetadata extendedMetadata)
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.springframework.security.saml.metadata.ExtendedMetadata createExtendedMetadata()
protected void shareExtendedMetadata(ServiceProviderBuilder builder)
@Deprecated public ExtendedMetadataConfigurer local(Boolean local)
ServiceProviderBuilder.extendedMetadata() or ServiceProviderBuilder.localExtendedMetadata()false.
Alternatively use property:
saml.sso.extended-metadata.local
local - true when entity is deployed locallypublic ExtendedMetadataConfigurer idpDiscoveryEnabled(boolean idpDiscoveryEnabled)
false.
Alternatively use property:
saml.sso.extended-metadata.idp-discovery-enabled
idpDiscoveryEnabled - true when IDP Discovery is enabledpublic ExtendedMetadataConfigurer ecpEnabled(boolean ecpEnabled)
false.
Alternatively use property:
saml.sso.extended-metadata.ecp-enabled
ecpEnabled - true if ECP is enabled.public ExtendedMetadataConfigurer signMetadata(boolean signMetadata)
false.
Alternatively use property:
saml.sso.extended-metadata.sign-metadata
signMetadata - true if sign metadata is enabled.public ExtendedMetadataConfigurer requireLogoutRequestSigned(boolean requireLogoutRequestSigned)
true.
Alternatively use property:
saml.sso.extended-metadata.require-logout-request-signed
requireLogoutRequestSigned - true is logout request signed is enabled.public ExtendedMetadataConfigurer requireLogoutResponseSigned(boolean requireLogoutResponseSigned)
false.
Alternatively use property:
saml.sso.extended-metadata.require-logout-response-signed
requireLogoutResponseSigned - true is logout response signed is enabled.public ExtendedMetadataConfigurer requireArtifactResolveSigned(boolean requireArtifactResolveSigned)
true.
Alternatively use property:
saml.sso.extended-metadata.require-artifact-resolve-signed
requireArtifactResolveSigned - true is require artifactResolve signed is enabled.public ExtendedMetadataConfigurer supportUnsolicitedResponse(boolean supportUnsolicitedResponse)
true.
Alternatively use property:
saml.sso.extended-metadata.support-unsolicited-response
supportUnsolicitedResponse - true is support unsolicited response is enabled.public ExtendedMetadataConfigurer alias(String alias)
Alternatively use property:
saml.sso.extended-metadata.alias
alias - the actual alias.public ExtendedMetadataConfigurer idpDiscoveryURL(String idpDiscoveryURL)
Alternatively use property:
saml.sso.extended-metadata.idp-discovery-url
idpDiscoveryURL - the idp discovery page URL.public ExtendedMetadataConfigurer idpDiscoveryResponseURL(String idpDiscoveryResponseURL)
Alternatively use property:
saml.sso.extended-metadata.idp-discovery-response-url
idpDiscoveryResponseURL - the idp discovery response page URL.public ExtendedMetadataConfigurer securityProfile(String securityProfile)
Alternatively use property:
saml.sso.extended-metadata.security-profile
securityProfile - the profile type.public ExtendedMetadataConfigurer sslSecurityProfile(String sslSecurityProfile)
Alternatively use property:
saml.sso.extended-metadata.ssl-security-profile
sslSecurityProfile - the profile type.public ExtendedMetadataConfigurer sslHostnameVerification(String sslHostnameVerification)
"default".
Alternatively use property:
saml.sso.extended-metadata.ssl-hostname-verification
sslHostnameVerification - the ssl hostname verification type.public ExtendedMetadataConfigurer signingKey(String signingKey)
Alternatively use property:
saml.sso.extended-metadata.signing-key
signingKey - the id of the signing/verifying key as it appears in the Keystore.public ExtendedMetadataConfigurer signingAlgorithm(String signingAlgorithm)
Alternatively use property:
saml.sso.extended-metadata.signing-algorithm
signingAlgorithm - the signing algorithm ID.public ExtendedMetadataConfigurer keyInfoGeneratorName(String keyInfoGeneratorName)
Alternatively use property:
saml.sso.extended-metadata.key-info-generator-name
keyInfoGeneratorName - name of generator.public ExtendedMetadataConfigurer encryptionKey(String encryptionKey)
Alternatively use property:
saml.sso.extended-metadata.encryption-key
encryptionKey - the key to use.public ExtendedMetadataConfigurer tlsKey(String tlsKey)
Alternatively use property:
saml.sso.extended-metadata.tls-key
tlsKey - the key to use.public ExtendedMetadataConfigurer trustedKeys(String... trustedKeys)
Alternatively use property:
saml.sso.extended-metadata.trusted-keys
trustedKeys - the trusted key namesCopyright © 2018. All rights reserved.