(zurück zur Übersicht)

Benötigte Attribute

Beispiel Attributfreigabe

./conf/attribute-filter.xml
<AttributeFilterPolicy id="get_eduroam">
  <PolicyRequirementRule xsi:type="Requester" value="https://get.eduroam.de/shibboleth" />
  <AttributeRule attributeID="eduPersonEntitlement">
       <PermitValueRule xsi:type="ValueRegex" regex="^https://www\.dfn\.de/entitlement/geteduroam/.*$" /> 
  </AttributeRule>
  <AttributeRule attributeID="eduPersonScopedAffiliation" permitAny="true"/>
  <AttributeRule attributeID="samlPairwiseID"             permitAny="true"/>
</AttributeFilterPolicy>

Attribute Definition für eduPersonEntitlement

Im folgenden Beispiel wird der Wert https://www.dfn.de/entitlement/geteduroam/admin für eine(n) Administrator(in) anhand der uid der betreffenden Person gesetzt (im Beispiel 'mustermann'), während der Wert https://www.dfn.de/entitlement/geteduroam/optin für alle Nutzenden vergeben wird. Bestehende Attribute Definitions für eduPersonEntitlement wären analog zu ergänzen.

./conf/attribute-resolver.xml
<AttributeDefinition xsi:type="ScriptedAttribute" id="eduPersonEntitlement">
   <InputAttributeDefinition ref="uid" />
  <Script><![CDATA[
     if (uid.getValues().get(0) == "mustermann") {
        eduPersonEntitlement.getValues().add("https://www.dfn.de/entitlement/geteduroam/admin");
     }
     eduPersonEntitlement.getValues().add("https://www.dfn.de/entitlement/geteduroam/optin");
     ]]>
 </Script>
</AttributeDefinition>

Alternative: Mapped Attribute Definition

./conf/attribute-resolver.xml
<AttributeDefinition xsi:type="Mapped" id="eduPersonEntitlement">
   <InputAttributeDefinition ref="uid"/>
   <DefaultValue>https://www.dfn.de/entitlement/geteduroam/optin</DefaultValue>
   <ValueMap>
      <ReturnValue>https://www.dfn.de/entitlement/geteduroam/admin</ReturnValue>
      <SourceValue ignoreCase="true">mustermann</SourceValue>
   </ValueMap>
</AttributeDefinition>

Hinweis:

Bei älteren IdPs (Upgrade von Version 3.x) kann es vorkommen, dass das Attribute Transcoding noch im Attribute Resolver vorgenommen wird. In diesem (und nur in diesem!) Fall muss in der Attribute Definition jeweils noch ein AttributeEncoder ergänzt werden:
eduPersonEntitlement

<AttributeEncoder xsi:type="SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" friendlyName="eduPersonEntitlement" encodeType="false"/>

samlPairwiseID

<AttributeEncoder xsi:type="SAML2ScopedString" name="urn:oasis:names:tc:SAML:attribute:pairwise-id" friendlyName="pairwise-id" encodeType="false" />

eduPersonScopedAffiliation

<AttributeEncoder xsi:type="SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" friendlyName="eduPersonScopedAffiliation" encodeType="false" />

Siehe auch die Hinweise zum Debbuging

  • Zuletzt geändert: vor 8 Wochen