Módosítások

ElsevierSP

4 163 bájt hozzáadva, 2014. február 21., 14:56
a
nincs szerkesztési összefoglaló
== Speciális eduPersonTargetedID kiadásának beállítása ===== Shibboleth IdP alatt ===  vim [/path/to]/shibboleth-idp/conf/attribute-resolver.xml Szúrjuk be az alábbi attribútumdefiníciót, ahol * a <code>scope</code> értéke az intézményi scope (ugyanaz, amit pl. az eduPersonPrincipalName attribútum előállításakor is használ)* a <code>sourceAttributeID</code> értéke a persistent nameID-t előállító attribútum id-je  <source lang="php"> <!-- Buggy edupersonTargetedId required for Elsevier: --> <resolver:AttributeDefinition id="elsevierId" xsi:type="Scoped" scope="niif.hu" sourceAttributeID="persistentId" xmlns="urn:mace:shibboleth:2.0:resolver:ad" > <resolver:Dependency ref="storedIdConnector" /> <resolver:AttributeEncoder xsi:type="enc:SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.10" friendlyName="buggy-eduPersonTargetedID" xmlns="urn:mace:shibboleth:2.0:attribute:encoder" /> </resolver:AttributeDefinition></source>  vim [/path/to]/shibboleth-idp/conf/attribute-filter.xml '''Fontos''', hogy amennyiben az [[Shib2IdpInstall#Tov.C3.A1bb_a_f.C3.B6der.C3.A1ci.C3.B3ba|ajánlásnak megfelelően]] a [[Resource_Registry|Resource Registry]] által előállított attribute filtert használjuk, akkor ne ezt a dinamikusan frissülő fájlt szerkesszük, hanem az attribute-filter-local.xml-t, és ebben a fájlban végezzük el az alábbi módosításokat. 1. Szúrjuk be az alábbi részletet, amely megmondja, hogy az Elsevier SP számára mely attribútumok adandók ki:<source lang="xml"> <AttributeFilterPolicy id="buggy-eptid"> <PolicyRequirementRule xsi:type="basic:AttributeRequesterString" value="https://sdauth.sciencedirect.com/" /> <AttributeRule attributeID="elsevierId"> <PermitValueRule xsi:type="basic:ANY" /> </AttributeRule> <AttributeRule attributeID="eduPersonScopedAffiliation"> <PermitValueRule xsi:type="basic:ANY" /> </AttributeRule> </AttributeFilterPolicy></source> 2. A <code>releaseIDsToAnyone</code> alapértelmezett szabályt módosítsuk az alábbiakra: <source lang="xml">  <!-- Release IDs to anyone --> <AttributeFilterPolicy id="releaseIDsToAnyone"> <PolicyRequirementRule xsi:type="basic:NOT"> <basic:Rule xsi:type="basic:AttributeRequesterString" value="https://sdauth.sciencedirect.com/" /> </PolicyRequirementRule> <AttributeRule attributeID="transientId"> <PermitValueRule xsi:type="basic:ANY" /> </AttributeRule> <AttributeRule attributeID="persistentId"> <PermitValueRule xsi:type="basic:ANY" /> </AttributeRule> </AttributeFilterPolicy> </source> Ez utóbbi módosításra azért van szükség, hogy a mindenki számára kiadható szabványos persistentID ne csapja felül ez Elsevier számára kiadandót.  === SimpleSAMLphp alatt ===
vim [/path/to]/simplesaml/metadata/saml20-sp-remote.php
Beállítjuk, hogy csak az elsevier SP-je esetén az attribútum előállítás és kiadás folyamatát toldja meg még egy lépéssel. Ehhez szükséges, hogy a fenti fájlba vegyük fel állandó elemként az Elsevire SP-jének metadatáját a SimpleSAMLphp által igényelt tömbös formában, melynek a default authproc tömbjét kicseréljük metadatájának kiegészítéseként az alábbiakaraalábbi PHP tömböt. Fontos, hogy a tömb egyes elemei előtt szereplő számok magasabbak legyenek, mint az IdP általános kiadási feloldási szabályainál megadott számok, de alacsonyabbak, mint a jellemzően a folyamat végén beállított 'name2oid' mappelések.
<source lang="php">
'replacement' => '${0}@intezmenyiScope.hu',
),
),;
</source>
A fenti kódrészlet annyit teszi, hogy újragenerálja az alapértelmezett eduPersonTargetedID-t egyszerű formában (csak a stringet, a NameID-s xml struktúra nélkül), majd mögé teszi az intézményi scope-ot. Fontos, hogy a megoldás feltételezi azt, hogy az Elsevier SP metadatájának további részei betöltésre kerülnek pl. a metarefresh modul által.
4
szerkesztés

Navigációs menü