...
In addition the Spring framework provides the deployer with the option to use macros. This is described here. Probably the most useful macro is #springMessageText(token,'default value')
, which looks up the appropriate (language specific) message property (in files in the messages directory) and returns that value or the default.
...
Property | Description |
---|---|
encoder | An HTMLEncoder object (javadoc here). This allows safe HTML encoding of various types. This is further described here. |
profileRequestContext | A ProfileRequestContext (javadoc here). This is primarily used to locate subsidiary contexts: |
environment | The Spring Environment (javadoc here). This will be most frequently used to resolve properties (defined in idp.properties or other files), by calling the getProperty method. For instanceenvironment.getProperty("idp.whatever","default") |
custom | The Spring bean with id "shibboleth.CustomViewContext ". This can be whatever you define it to be (in global.xml ) |
request | The HttpServletRequest (javadoc here). This is an advanced topic and out of scope for this page. |
response | The HttpServletResponse (javadoc here). This is an advanced topic and out of scope for this page. |
flowRequestContext | The Spring Web Flow RequestContext (javadoc here). This is an advanced topic and out of scope for this page. |
springMacroRequestContext | A help context supplied by Spring. Primarily used to render language specific resources from the message bundles. For instance$springMacroRequestContext.getMessage("idp.message", "An unidentified error occurred.")) |
...
Property | Description |
---|---|
rpUIContext | A RelyingPartyUIContext object. This object allows language sensitive rendering of specific information about the relying party (logos and so forth). This is described further here. |
attributeDisplayNameFunction | A class (javadoc here) with one method 'apply'. This takes an IdPAttribute (usually from $attributeReleaseContext.getConsentableAttributes().values()) and outputs the DisplayName appropriate to the browser locales. |
attributeDisplayDescriptionFunction 3.2 | A class (javadoc here) with one method 'apply'. This takes an IdPAttribute (usually from $attributeReleaseContext.getConsentableAttributes().values()) and outputs the DisplayDescription appropriate to the browser locales. |
consentContext | A ConsentContext (javadoc here). A context representing the state of a consent flow (current and previous consents). Further information TBD. |
attributeReleaseContext | An AttributeReleaseContext (javadoc here). This can be used to provide an iterable group of those attributes to which consent can be applied via the call |
...
Property | Description |
---|---|
logoutContext | A LogoutContext (javadoc here). This contains information to list the services accessed during the session that has been terminated |
multi-rpContext | A MultiRelyingPartyContext (javadoc here). This allows lookup of the RelyingPartyContext (javadoc here) for each service listed in the logoutContext |
...
- rpUIContext as used in the login case
- termsOfUseId. A ConsentContext (javadoc here). A context representing the state of a consent flow (current and previous consents). Further information TBD.
...
The EntityDescriptor (Javadoc here) is located in the MetadataContext. Finding this requires some navigation:
Code Block |
---|
#set ($outboundContext = $profileRequestContext.getOutboundMessageContext()) #set ($samlPeerContext = $outboundContext.getSubcontext('org.opensaml.saml.common.messaging.context.SAMLPeerEntityContext')) #set ($metadataContext = $samlPeerContext.getSubcontext('org.opensaml.saml.common.messaging.context.SAMLMetadataContext')) #set ($spEntity = $metadataContext.getEntityDescriptor()) |
Show a particular HTML Element depending on the requesting SP's EntityId
Code Block | ||
---|---|---|
| ||
#set ($spEntityId = $profileRequestContext.getSubcontext('net.shibboleth.idp.profile.context.RelyingPartyContext').getRelyingPartyId())
...
#if ($spEntityId.equals("https://sp.examle.org/shibboleth"))
<a>particular HTML element</a>
#end |