The Shibboleth IdP V4 software will leave support on September 1, 2024.

SAML2AttributeQueryConfiguration

File(s): conf/relying-party.xml

Format: Native Spring

Overview

The SAML2.AttributeQuery profile configuration bean enables support for the SAML 2.0 Attribute Query profile over SOAP. It was implemented mostly for completeness and has seen some use by virtual organizations and research communities but is rarely used in enterprise scenarios.

By default, the IdP will only respond to queries containing NameIDs that it understands how to reverse-map into user identities, and it will not do so out of the box for anything but transient identifiers issued by it. Nevertheless, it should be disabled if not in use.

Configuration

The most typical options used are described in more detail below, but not every obscure option is discussed. See the javadoc for all of the possible configuration options for this profile (note that many of them are inherited from parent classes).

Virtually all the configuration options below can be set via two different properties: a static property that explicitly sets the value to use and a lookup strategy or predicate property that takes a Function or Predicate and returns the value to use. The dynamic property is generally named "propertyNamePredicate" or "propertyNameLookupStrategy" for Boolean- and non-Boolean-valued properties respectively.

Name

Type

Default

Description

Name

Type

Default

Description

encryptAssertions

Boolean

See Notes

Whether to encrypt assertions

encryptAttributes

Boolean

false

Whether to encrypt attributes

Notes

The default value of signResponses for this profile is an extended form of the behavior that was referred to in V2 as "conditional". It signs only if TLS isn't used (very unusual) or if the receiving port is 443. It assumes that traffic over 443 will be relying on message-based security measures, whereas traffic to an alternative TLS port like 8443 will be relying on mutual authentication and thus provide a secure channel.

The default value of encryptAssertions is also conditional on the same basis.

If you need to enable the signAssertions option, and you control the SP's metadata, you should generally add the WantAssertionsSigned flag to it in place of using this option. Related, the idp.saml.honorWantAssertionsSigned property can be turned off to globally ignore that flag in metadata should you wish to do so.