Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The <ResponseMapping> element is a configuration a configuration element of type ScriptType.

The following sections describe the attributes and elements of the ScriptType type.

...

and shares its general syntax.

Expand
titleXML Attributes

Name

Type

Default

Description

language

String

javascript

Defines the JSR-223 language to use

customObjectRef

Bean ID

Any bean defined elsewhere in the configuration

If the customObjectRef attribute is present, the result of the referenced Spring bean is made available to the script in a variable named custom. This is in addition to the normal script context discussed below.

localtab-live
Expand
titleXML Elements

Name

Cardinality

Description

<Script>


Exactly One

An inline script

<ScriptFile>

Path to a local file or classpath resource containing the script

The script may be stored in a local file (with <ScriptFile>) or written inline (with <Script>). An inline script should be wrapped with a CDATA section to prevent interpretation of any special XML characters that may be included in the script.

NOTE

Always wrap inline scripts with a CDATA section, even if the script contains no special XML characters. This will future-proof your script..

localtab-live
Expand
titleScript Context

As enumerated below, several variables are available in the template context.

Name

Description

response

Instance of HttpResponse to process

log

A class logger for debugging

custom

Custom object supplied via customObjectRef configuration attribute, if any

connectorResults

Pre-defined Set<IdPAttribute> variable to populate with output results

Unlike a lot of the scripted versions of objects across the system, there is no direct access to the ProfileRequestContext tree that exposes the state of the request. However, it's easy to get access to it by using a servlet request attribute named "opensamlProfileRequestContext". You can inject the servlet request object through the customObjectRef hook (set it to "shibboleth.HttpServletRequest").

...