easyroam

(zurück zur Übersicht)

Hier geht es zur allgemeinen easyroam-Doku


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>

Bei mehreren Administrator*innen können Sie wie folgt mit einer ODER-Verknüpfung arbeiten:

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