The Shibboleth IdP V4 software has reached its End of Life and is no longer supported. This documentation is available for historical purposes only. See the IDP5 wiki space for current documentation on the supported version.
RecordMapping
Namespace: urn:mace:shibboleth:2.0:resolver
Schema: http://shibboleth.net/schema/idp/shibboleth-attribute-resolver.xsd
Overview
The <RecordMapping>
 element provides an instance of the StorageMappingStrategy interface that produces result attributes from a StorageService record using a script. The supplied script is expected to consume a StorageRecord instance and produce any desired results. It may raise exceptions if necessary.
Note that Javascript interpreters include a JSON
 object that automates the parsing of JSON data.
Reference
The <RecordMapping>
 element is a configuration element of type ScriptType.
The following sections describe the attributes and elements of the ScriptType
 type.
Script Context
These variables are available in the template context:
Name | Description |
---|---|
record | Instance of StorageRecord to process |
log | A class logger for debugging |
custom | Custom object supplied via |
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" (or "shibboleth.HttpServletRequestSupplier" in V4.3 and later as per this link)