<
md:RequestedAttribute
FriendlyName
=
"sn"
Name
=
"urn:oid:1.3.6.1.4.1.25178.1.2.10"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
<
md:RequestedAttribute
FriendlyName
=
"givenName"
Name
=
"urn:oid:1.3.6.1.4.1.25178.1.2.10"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
<
md:RequestedAttribute
FriendlyName
=
"idmNrwDocumentSurname"
Name
=
"urn:oid:1.3.6.1.4.1.22177.400.1.2.1.2"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
<
md:RequestedAttribute
FriendlyName
=
"idmNrwDocumentGivenName"
Name
=
"urn:oid:1.3.6.1.4.1.22177.400.1.2.1.1"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
<
md:RequestedAttribute
FriendlyName
=
"eduPersonScopedAffiliation"
Name
=
"urn:oid:1.3.6.1.4.1.5923.1.1.1.9"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
<
md:RequestedAttribute
FriendlyName
=
"mail"
Name
=
"urn:oid:0.9.2342.19200300.100.1.3"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
<
md:RequestedAttribute
FriendlyName
=
"schacHomeOrganizationType"
Name
=
"urn:oid:1.3.6.1.4.1.25178.1.2.10"
NameFormat
=
"urn:oasis:names:tc:SAML:2.0:attrname-format:uri"
isRequired
=
"true"
/>
</
md:AttributeConsumingService
>
Wenn der Service Provider die pairwise-id benötigt, muss die Metadata Extensions angepasst werden:
|
Möchte man auf der Service-Provider-Seite ein Attribut den eigenen Bedürfnissen anpassen, so kann man das durch den "TransformAttributeResolver" machen.
Das "Transform" verwendet die Shared Library plugins.so. Daher muss in der /etc/shibboleth/shibboleth2.xml ein weiterer Eintrag hinzugefügt werden:
|
Beispiel: DisplayName in Vorname und Nachname splitten
Dazu wird in der Datei /etc/shibboleth/shibboleth2.xml ein entsprechender Resolver konfiguriert:
|
Hier wird zum einen das Attribute "displayName" in zwei zusätzliche Attribute, namentlich "givenName" und "sn", aufgesplittet und zum anderen beim Displayname das Format "Nachname, Vorname" erzwungen. Dazu wird zunächst ein Regex definiert (hier: zwei RegEx Gruppen) und die Matches entsprechend extrahiert.
Beispiel: eduPersonTargetedID extrahieren
Ein anderes Beispiel ist das Attribut "eduPersonTargetedID":
|
ODER
|
Bei beiden Beispielen wird der 64 Zeichen String aus der eduPersonTargetedID extrahiert, um diese dann in das Feld "uniqueID" zu schreiben.
Bei dem unteren Beispiel wäre
Beispiel: Entfernen eines Teilstrings (hier orgID aus den eduPersonEntitlements wie z. B. dem Rollenstring)
Möchte man einen Teil des gelieferten Strings entfernen, weil die Anwendung damit nicht umgehen kann, so kann man das Attribut wie folgt transformieren:
|
Hiermit wird in $1 das alte Entitlement in "entitlement" gespeichert. In $2 wäre die orgID verfügbar.
Lesen Sie hierzu: