The RelyingPartyUIContext renders information about the relying party drawn from its metadata. This metadata generally allows language sensitive specification and the rpUIContext respects this. Specifically it searches for the best match against the (ordered list of) supported languages specified by the browser and failing that for the best match against the (ordered list) of fallback languages specified in idp.properties as idp.ui.fallbackLanguages
In most cases the values are extracted from the Metadata of the relyingparty. The SAML Metadata and the SAML Metadata Login and Discover UI Extensions specifications provide the required details.
This returns the (language specific) URL which is the email address of the contact of the specified type (if it exists in the metadata for the relying party). The URL scheme is limited to http:
, https:
and mailto:. O
ther types will not render but will result in an error message in the log.
Only one parameter can be provided, the type of the contact can be one of technical, support, administrative, billing, or other.
#set ($email=$rpUIContext.contactEmail(support)) Contact the websites support team <a href="$encoder.encodeForHTMLAttribute($email)"/>here</a> |
The email field is defined in the SAML Metadata specification.
These return the (language specific) "Given Name" and "Surname" of the contact of the specified type (if it exists in the metadata for the relying party).
Only one parameter can be provided, the type of the contact can be one of technical, support, administrative, billing, or other.
#set ($surname=$rpUIContext.contactSurName(billing)) #set ($givenName=$rpUIContext.contactGiven(billing)) #if ($givenName) #set ($name=$givenName $surname) #else #set ($name=$surname) #end #if ($name) Billing Contact name is given as $encoder.encodeForHTML($name) #else No Billing Contact name given. #end |
The given name are surname are defined in the SAML Metadata specification.
This returns the (language specific) Information URL if it exists in the metadata extensions for the relying party. The URL scheme is limited to http: and
https:. O
ther types will not render but will result in an error message in the log.
#set ($infoURL=$rpUIContext.informationURL) #if ($infoURL) Information about this service can be found <a href="$encoder.encodeForHTMLAttribute($infoURL)"/>here</a> #end |
No parameter should be specified.
The given name are surname are defined in the SAML Metadata Login and Discover UI Extensions specification.
This returns the "best fit" URL specified for the logo of the relying party (if one exists in the metadata extensions). The URL scheme is limited to http:
, https:
and data:. O
ther types will not render but will result in an error message in the log.
Note that the specification allows for a logo to provided with no language associated. If an logo for an appropriate language exists then this is returned, otherwise the no-language logo is returned (assuming that it fits the size constraints as detailed below).
Two forms exist. The first four parameters are supplied these are (respectively) the minimum width, the minimum height, the maximum width and the maximum height (in pixels) that the logo can be.
The second form has no parameter and any logo which fits the language constraints is returned.
#set ($logo=$rpUIContext.logo) #set ($serviceName=$rpuiContext.serviceName) #if ($logo) <img src="$encoder.encodeForHTMLAttribute($logo)" alt="$encoder.encodeForHTMLAttribute($serviceName)"/> #end |
The logo is defined in the SAML Metadata Login and Discover UI Extensions specification.
This returns the (language specific) OrganizationDisplayName if it exists in the metadata for the relying party.
#set ($odn=$rpUIContext.organizationDisplayName) #if ($odn) $encoder.encodeForHTML($odn) #end |
No parameter should be specified.
The OrganizationDisplayName is defined in the SAML Metadata specifciation
This returns the (language specific) OrganizationName if it exists in the metadata for the relying party.
#set ($on=$rpUIContext.organizationName) #if ($on) $encoder.encodeForHTML($on) #end |
No parameter should be specified.
The OrganizationName is defined in the SAML Metadata specifciation
This returns the (language specific) OrganizationURL URL if it exists in the metadata for the relying party. The URL scheme is limited to http: and
https:. O
ther types will not render but will result in an error message in the log.
#set ($ourl=$rpUIContext.organizationURL) #set ($odn=$rpUIContext.organizationDisplayName) #if ($ourl && $odn) <a href="$encoder.encodeForHTMLAttribute($ourl)">$encoder.encodeForHTML($odn)</a> #end |
No parameter should be specified.
The OrganizationURL is defined in the SAML Metadata specifciation
This returns the (language specific) PrivacyStatementURL URL if it exists in the extensions of the metadata for the relying party. The URL scheme is limited to http: and
https:. O
ther types will not render but will result in an error message in the log.
#set ($psurl=$rpUIContext.privacyStatementURL) #if ($psurl) <a href="$encoder.encodeForHTMLAttribute($psurl)">Privacy Statement</a> #end |
No parameter should be specified.
The PrivacyStatementURL is defined in the SAML Metadata Login and Discover UI Extensions specification.
This returns the (language specific) description of the service.
The description is located as follows:
#set ($desc = $rpUIContext.getServiceDescription()) #if ($desc) $encoder.encodeForHTML($desc) #end |
No parameter should be specified.
The Description is defined in the SAML Metadata Login and Discover UI Extensions specification.
The ServiceDescription is defined in the SAML Metadata specifciation
This will always return a value. As for the serviceDescription, the search is compound through both the metadata and the metadata extensions
The Service Name is located as follows:
http:
or https:
return the hostname from the URI.For example, absent appropriate metadata https://sp.example.org/shibboleth
would return sp.example.org,
whilst urn:mace:edu.internet:provider:identity:uni.edu
would be pass unchanged.
#set ($rpContext = $profileRequestContext.getSubcontext('net.shibboleth.idp.profile.context.RelyingPartyContext')) #set ($serviceName = $rpUIContext.serviceName) // Do not diplay anything if there is no metadata support #if ($serviceName && !$rpContext.getRelyingPartyId().contains($serviceName)) <legend> #springMessageText("idp.login.loginTo", "Login to") $encoder.encodeForHTML($serviceName) </legend> #end |
No parameter should be specified.
The DisplayName is defined in the SAML Metadata Login and Discover UI Extensions specification.
The ServiceName is defined in the SAML Metadata specifciation