</Sessions>
Um an die Metadaten Informationen für das attrChecker.html-Template zu kommen, muss noch ein <AttributeExtractor> definiert werden.
<!-- Extracts support information for IdP from its metadata. --> <AttributeExtractor type="Metadata" errorURL="errorURL" DisplayName="displayName" InformationURL="informationURL" PrivacyStatementURL="privacyStatementURL" OrganizationURL="organizationURL"> <ContactPerson id="Support-Contact" contactType="support" formatter="$EmailAddress" /> <Logo id="Small-Logo" height="16" width="16" formatter="$_string"/> </AttributeExtractor> |
Application Override
<ApplicationOverride id="checkattributes" entityID="https://<HOST>/checkattributes/shibboleth" sessionHook="/checkattributes/Shibboleth.sso/AttrChecker" metadataAttributePrefix="Meta-"> |
Außerdem muss der AttributeChecker -Handler im <Sessions>-Element definiert werden.
Die erforderlichen Attribute werden unter dem Attribut attributes definiert (hier eppn und displayName):
<Sessions ....> <Handler type="AttributeChecker" Location="/AttrChecker" template="attrChecker.html" attributes="eppn displayName" flushSession="true"/> </Sessions> |
Um an die Metadaten Informationen für das attrChecker.html-Template zu kommen, muss noch ein <AttributeExtractor> definiert werden.
<!-- Extracts support information for IdP from its metadata. --> <AttributeExtractor type="Metadata" errorURL="errorURL" DisplayName="displayName" InformationURL="informationURL" PrivacyStatementURL="privacyStatementURL" OrganizationURL="organizationURL"> <ContactPerson id="Support-Contact" contactType="support" formatter="$EmailAddress" /> <Logo id="Small-Logo" height="16" width="16" formatter="$_string"/> </AttributeExtractor> |
Template Beispiel:
Jedes Attribut das überprüft werden soll, muss händisch hinzugefügt werden. Im Beispiel wird eine Tabelle mit dem jeweils fehlenden Attribut angezeigt.
<!--TableStart--> <tr <shibmlpifnot displayName><shibmlpifnot givenName> class='warning text-danger'</shibmlpifnot></shibmlpifnot>> <td>displayName</td> <td><shibmlp displayName /></td> <td></td> </tr> <tr <shibmlpifnot givenName><shibmlpifnot displayName> class='warning text-danger'</shibmlpifnot></shibmlpifnot>> <td>givenName</td> <td><shibmlp givenName /></td> </tr> <tr <shibmlpifnot sn><shibmlpifnot displayName> class='warning text-danger'</shibmlpifnot></shibmlpifnot>> <td>sn</td> <td><shibmlp sn /></td> </tr> <tr <shibmlpifnot mail> class='warning text-danger'</shibmlpifnot>> <td>mail</td> <td><shibmlp mail /></td> </tr> <tr <shibmlpifnot eppn> class='warning text-danger'</shibmlpifnot>> <td>eduPersonPrincipalName</td> <td><shibmlp eppn /></td> </tr> <tr> <td>eduPersonTargetedID</td> <td><shibmlp persistent-id /></td> </tr> <tr> <td>eduPersonScopedAffiliation (optional)</td> <td><shibmlp affiliation /></td> </tr> <!--TableEnd--> |
Auch der Text an den IdP Betreiber muss angepasst werden:
The attributes that were not released to the service are: * <shibmlpifnot cn>cn</shibmlpifnot> * <shibmlpifnot mail>mail</shibmlpifnot> |
Die Namen der Attribute richten sich nach der attribute-map.xml.