MDX

A NIIF Wiki wikiből

Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a cacheDuration-ben megadott ideig). Az MDX kiszolgáló az alábbi szabvány szerint tudja visszaadni egy-egy entitás metaadatát: http://mdx.eduid.hu/entities/{urlencoded}$entityID, pl: http://mdx.eduid.hu/entities/https%3A%2F%2Fdev.aai.niif.hu%2Fshibboleth

Tartalomjegyzék

MDX kiszolgálás a HREF-ben

Két MDX forrást üzemeltetünk:

  • http://mdx.eduid.hu - ezen keresztül az éles föderációs metadatában és az edugainben szereplő entitások metaadatai kérdezhetők le
  • http://entities.eduid.hu - ezen keresztül az összes, beleértve a tesztentitásokat is

Mindkét kiszolgáló ugyanazzal a kulccsal írja alá a lekért metaadat-állományt.

Fontos tudnivaló Discovery Service használattal kapcsolatban

Lévén az MDX-et használó SP-knél nem áll rendelkezésre folyamatosan az összes potenciális IdP listája, így a beépített Discovery Service-ek nem működnek. Ha MDX-et használunk, akkor valamilyen külső Discvery Service-t kell használnunk. A HREF-ben a https://discovery.eduid.hu a központi Discovery Service.

Emellett maga az MDX kiszolgáló is biztosít Discovery Service felületet, ehhez akár Shibboleth SP-nél, akár simpleSAMLphp SP-nél a konfigurációban az alábbi URL-t kell megadni, mint Discovery Service: https://mdx.eduid.hu/role/idp.ds . Ez a Discovery Service tartalmazza a hazai eduID-ben, valamint az eduGAIN-ben levő összes IdP-t. (És, ellentétben a hagyományos https://discovery.eduid.hu/edugain szolgáltatással, ez tartlamazza a magyar VHO-t is VHO IdP néven.)

MDX használata kliens oldalon

SimpleSAMLphp

Az 1.14-es kiadású SimpleSAMLphp-ban lesz benne, mint kiadásban, de a legfrissebb, githubról letölthető változatban már benne van. Ezt kell használnunk, ha szeretnénk, hogy az üzemeltetett SimpleSAMLphp-nk MDX-es metadataforrásból dolgozzon.config/config.php metadatás részében kell elvégezni a beállításokat az alábbi módon:

'metadata.sources' => array(
     array(
         'type' => 'mdx',
         'server' => 'http://mdx.eduid.hu',
         'cachedir' => '/var/simplesamlphp/mdx-cache', //opcionális, de ajánlott
         'cachelength' => 86400, //opcionális,
         'validateFingerprint' => '91:81:AD:2B:F1:C1:4E:47:93:A2:9D:49:34:B7:77:62:4F:2F:98:43' //opcionális     
      )
),

Shibboleth SP

<MetadataProvider type="Dynamic" ignoreTransport="true">
      <Subst>http://mdx.eduid.hu/entities/$entityID</Subst>
      <MetadataFilter type="Signature" certificate="mdx-test-signer-2015.crt"/>
</MetadataProvider>

Shibboleth IdPv3

<MetadataProvider
     xmlns="urn:mace:shibboleth:2.0:metadata"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:mace:shibboleth:2.0:metadata http://shibboleth.net/schema/idp/shibboleth-metadata.xsd"
     id="dynamicMDQ" xsi:type="DynamicHTTPMetadataProvider">
 
 
     <!--
       Require a validUntil XML attribute on the EntityDescriptor element
       and make sure its value is no more than 14 days into the future
     -->
     <MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P14D" />
 
 
      <!-- Verify the signature on the metadata file -->
     <MetadataFilter xsi:type="SignatureValidation" requireSignedMetadata="true"
         certificateFile="${idp.home}/credentials/mdx-signer.crt" />
 
     <!-- The MetadataQueryProtocol element specifies the base URL for the query protocol. -->
     <MetadataQueryProtocol>http://mdx.eduid.hu/</MetadataQueryProtocol>
</MetadataProvider>
Személyes eszközök
Névterek

Változók
Műveletek
Navigáció
Eszközök