Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Shibboleth IdP:n versio 3:sta löytyy myös toiminnallisuus jolla attribuuttien yhdistely onnistuu käyttäen "velocity macro" mallia. Yksi käyttötarkoitus tälle voisi olla esimerkiksi "cn" attribuutin luominen IdP:ssä "givenName" sekä "sn" attribuuteista. Tärkeää on huomioda että lähde attribuuteissa pitää olla juuri oikea määrä arvoja. 

Code Block
languagexml
themeRDark
titleattribute-resolver.xml
<resolver:AttributeDefinition xsi:type="ad:Template" id="cn">
  <resolver:Dependency ref="myLDAP" />
  <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:cn" encodeType="false" />
  <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:2.5.4.3" friendlyName="cn" encodeType="false" />
  <ad:Template>${givenName} ${sn}</ad:Template>
  <ad:SourceAttribute>givenName</ad:SourceAttribute>
  <ad:SourceAttribute>sn</ad:SourceAttribute>
</resolver:AttributeDefinition>

...

Shibboleth IdP versio 4:ssa moniarvoisen attribuutin yhdistely kahdesta muusta attribuutista (ja eri lähteistä), joiden arvoihin lisätään alku :

Code Block
languagexml
themeRDark
<AttributeDefinition id="uniquecode" xsi:type="ScriptedAttribute">
	<InputDataConnector ref="LDAP1" attributeNames="opiskelijanumero" />
	<InputDataConnector ref="LDAP2" attributeNames="oppijanumero" />
	<AttributeEncoder xsi:type="SAML2String" name="1.3.6.1.4.1.25178.1.2.14" friendlyName="schacPersonalUniqueCode" encodeType="false"/>
	<Script><![CDATA[
		if (typeof opiskelijanumero != "undefined") {
			uniquecode.addValue("prefix1:" + opiskelijanumero.getValues().get(0));
		}
		if (typeof oppijanumero != "undefined") {
			uniquecode.addValue("prefix2:" + oppijanumero.getValues().get(0));
		}
	]]></Script>
</AttributeDefinition>

...