The general function of the request mapper is to associate "properties" with a request. These properties are named and typed and provide the basic interface between the configuration of the software and the software itself. Obviously similar to XML attributes, these properties may in fact be expressed with XML, but do not have to be.

The set of supported properties is as follows:

Name

Type

Default

Description

Name

Type

Default

Description

authType

string



Analogous to Apache's AuthType command, just set this to "shibboleth" unless you want to bypass any processing by the SP.

applicationId

string



Overrides the application associated with the resource by matching the id attribute in an <ApplicationOverride> element.

requireSession

boolean

false

Master trigger that will require an authenticated session. If none exists, the SP will try to automatically establish one using the default Session Initiator.

requireSessionWith

string



Same as requireSession, but uses the Session Initiator with the specified id attribute instead of the default.

exportAssertion

boolean

false

If true, special attributes are exported to provide applications with access to the underlying SAML assertions that are cached with the user's session. See the AssertionExport topic.

redirectToSSL

integer



A port to redirect non-SSL GET or HEAD requests to. Other HTTP methods like POST will result in an error. Used to automate the blocking of non-SSL requests in a portable way. Most servers can do this anyway, but some like IIS won't enforce the rule until it's too late to prevent problems with the Shibboleth filter.

entityID

URI



The name of a specific IdP to use when automatically requesting authentication because a session does not exist. Allows for resource-based selection of an IdP to use, and overrides the entityID attribute of a Session Initiator.

isPassive

boolean

false

Sets the value of the IsPassive attribute of any SAML 2.0 AuthnRequest messages issued automatically as a result of accessing the resource. Has no effect for other SSO protocols. Overrides the isPassiveattribute of a SessionInitiator. Also have a look at the page in order to see what isPassive can be used for.

forceAuthn

boolean

false

Sets the value of the ForceAuthn attribute of any SAML 2.0 AuthnRequest messages issued automatically as a result of accessing the resource. This asks for forced reauthentication by the IdP (bypassing SSO). Has no effect for other SSO protocols. Overrides the forceAuthn attribute of a Session Initiator.

authnContextClassRef

whitespace-delimited
URI List



Specifies a SAML 2.0 AuthnContext class reference to request in any SAML 2.0 AuthnRequest messages issued automatically as a result of accessing the resource. Has no effect for other SSO protocols. Overrides the authnContextClassRef attribute of a Session Initiator. This can be a whitespace-delimited list of classes to request.

authnContextComparison

"exact", "better", "minimum", "maximum"




Specifies the SAML 2.0 AuthnContext comparison operator to use in any SAML 2.0 AuthnRequest messages issued automatically as a result of accessing the resource. Has no effect for other SSO protocols. Overrides the authnContextComparison attribute of a Session Initiator.

redirectErrors

URL (relative or absolute)



Location to redirect to when errors occur, instead of using a generated HTML template. Particularly necessary when using passive SSO. Overrides the redirectErrors attribute of the <Errors> element.

sessionError

local pathname



Error template to use for general processing errors. Overrides the session attribute of the <Errors> element.

metadataError

local pathname



Error template to use for general processing errors. Overrides the metadata attribute of the <Errors> element.

accessError

local pathname



Error template to use for general processing errors. Overrides the access attribute of the <Errors> element.

sslError

local pathname



Error template to use for blocking non-SSL requests that could not be redirected.  Overrides the ssl attribute of the <Errors> element.

REMOTE_ADDR

string



Optional name of an HTTP request header to use for the IP address of the client. Used to divert this lookup from the REMOTE_ADDR variable to a header set by a proxy, such as "X-Forwarded-For". If you rely on this feature, you'd better ensure that the header can't be spoofed by a client.

target

URL



Allows the resources to return to after SSO to be "locked" to a specific value, even when running as a result of active protection of other resources. In other words, this value overrides the actual resource location when SSO redirection is automatic, including initial access and after a timeout.

encoding

string



Controls the encoding of attribute values exported to headers or environment variables. If omitted, the default is to encode the data as UTF8. The only supported value is "URL", which applies URL-encoding to the UTF8 data before export.

NameIDFormat

URI



NameIDPolicy Format attribute to use in authentication request. Overrides the NameIDFormat attribute of a Session Initiator.

SPNameQualifier

string



NameQualifier to use in authentication request. For instance, entityID of an EntityDescriptor with an AffiliationDescriptor.

exportStdVars

boolean

true

If true, causes the SP to export a built-in set of standard variables based on the users' session. This set includes "Shib-Identity-Provider", "Shib-Authentication-Instant", "Shib-Authentication-Method", "Shib-AuthnContext-Class", "Shib-AuthnContext-Decl", and "Shib-Session-Index".
A future version of the SP may remove these built-ins in favor of explicit configuration using the Attribute Extractor of type="Assertion".

exportCookie

boolean

false

If true, causes the SP to export a variable called "Shib-Cookie-Name" with the algorithmically-generated portion of the implementation-specific cookies used by the SP to maintain sessions with users and track other state. Applications that want to unilaterally dispose of SP state and session information can delete any cookie whose name contains the value of this variable.

discoveryURL

URL



Overrides the default location used by "discovery" session initiators. Advanced option that can be used to direct the user to different discovery interfaces based on the resource accessed.

discoveryPolicy

string



Used as input to some discovery protocols that take parameters modifying discovery behavior. In the case of the type="SAMLDS" Session Initiator, this is passed as a policy parameter value.

requireLogoutWith

URL



Used in conjunction with passive protection of a resource, this property will automate a redirect to the URL specified (usually the SP's logout handler) and then a return to the location being accessed, passing control to it. Assuming SP logout proceeds successfully, this will invoke that mechanism and pass control to this resource with the SP session disposed of, enabling application logout to proceed.

exportDuplicateValues

boolean

true

If set to false, the export of attribute values to variables or headers will filter out duplicate values. This occurs per-header, so accounts for aliasing and multiply-sourced headers, but also adds some overhead to the processing of every request for larger attribute sets.

See also ContentSettings