<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
		<id>https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gyufi%28AT%29niif.hu</id>
		<title>Pro-M - Oktatási Üzletág - Wiki - Szerkesztő közreműködései [hu]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.niif.hu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gyufi%28AT%29niif.hu"/>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Gyufi(AT)niif.hu"/>
		<updated>2026-11-07T20:47:57Z</updated>
		<subtitle>Szerkesztő közreműködései</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shibboleth_Service_Provider_(SP)&amp;diff=4159</id>
		<title>Shibboleth Service Provider (SP)</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shibboleth_Service_Provider_(SP)&amp;diff=4159"/>
				<updated>2017-06-25T12:21:57Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SP adatainak közzététele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő Shibboleth SP-t állítsunk üzembe. Fontos, hogy rengeteg olyan igény lehet, amely további speciális beállítások meglétét teszik szükségessé, ezeket ezen a lapon nem részletezzük, ilyen irányú tájékozódáshoz legbiztosabb forrás a [http://wiki.shibboleth.net http://wiki.shibboleth.net] lap.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
A Shibboleth SP egy webszerver modul, így szükséges előfeltétel, hogy a gépünkön legyen egy webszerver telepítve, jelenleg Apache és IIS a biztosan támogatott webszerverek. Emellett szükséges, hogy a 443-as port a tűzfalon mindkét irányban engedélyezett legyen, ill. a hosztnév, amelyen a webszerver üzemel, be legyen jegyezve a DNS-be.&lt;br /&gt;
&lt;br /&gt;
===Letöltés és telepítés===&lt;br /&gt;
A legfrissebb változat letölthető [https://wiki.shibboleth.net/confluence/display/SHIB2/Installation https://wiki.shibboleth.net/confluence/display/SHIB2/Installation] címről. Célszerű valamilyen előre csomagolt változattal dolgozni, melyet az adott rendszer csomagkezelőjén keresztül egy mozdulattal feltelepíthetünk minden függőségével együtt.&lt;br /&gt;
&lt;br /&gt;
====Debian Squeeze====&lt;br /&gt;
A [http://wiki.debian.org/Teams/DebianShibboleth Debian Shibboleth] csapat által készített új verziók időről időre bekerülnek [http://backports.org backports.org] tárolóiba is, ezért stable Debiant futtató rendszereken javasolt ezt használni.&lt;br /&gt;
&lt;br /&gt;
A backports.org tárolójának beállításához adjuk hozzá a &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; fájlhoz a következő sort:&lt;br /&gt;
 deb http://backports.debian.org/debian-backports squeeze-backports main&lt;br /&gt;
&lt;br /&gt;
A csomagokat így telepíthetjük:&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
 sudo aptitude install -t squeeze-backports libapache2-mod-shib2&lt;br /&gt;
&lt;br /&gt;
Ez a Shibboleth webszerver modul függőségeit is telepíti. A Shibboleth használatba vételéhez engedélyezni kell a modult és újra kell indítani az Apache webszervert.&lt;br /&gt;
&lt;br /&gt;
====RPM alapú disztribúciók====&lt;br /&gt;
Shibboleth SP-ből RHEL/CENTOS rendszerekre egyből rendelkezésünkre áll bináris csomag, a fejlesztők ezen platformokon dolgoznak első körben. A telepítés előtt a teendőnk mindössze annyi, hogy a YUM forrásokhoz hozzá kell adni a Shibboleth SP repóját. Ehhez látogassunk el a [http://download.opensuse.org/repositories/security://shibboleth/ http://download.opensuse.org/repositories/security://shibboleth/] oldalra, majd a pontos verzió kiválasztása után a security:shibboleth.repo fájl tartalmát másoljuk be a /etc/yum/ &amp;lt;code&amp;gt;/etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; fájl aljára, majd &lt;br /&gt;
 yum install shibboleth&lt;br /&gt;
&lt;br /&gt;
'''Hibaelhárítás: Can't connect to listener process'''&lt;br /&gt;
&lt;br /&gt;
Ha a fenti hibába futunk bele, az azt jelenti, hogy a SE linux nem engedi kommunikálni a shibd és a httpd folyamatokat, ezért ezt külön engedélyezni kell. Ehhez készítsünk egy fájlt &amp;lt;code&amp;gt;shibd.te&amp;lt;/code&amp;gt; néven, melynek tartalma az alábbi legyen:&lt;br /&gt;
 module shibd 1.0;&lt;br /&gt;
 require {&lt;br /&gt;
        type var_run_t;&lt;br /&gt;
        type httpd_t;&lt;br /&gt;
        type initrc_t;&lt;br /&gt;
        class sock_file write;&lt;br /&gt;
        class unix_stream_socket connectto;&lt;br /&gt;
 } &lt;br /&gt;
 #============= httpd_t ============== &lt;br /&gt;
 allow httpd_t initrc_t:unix_stream_socket connectto;&lt;br /&gt;
 allow httpd_t var_run_t:sock_file write;&lt;br /&gt;
&lt;br /&gt;
Ezek után futtassuk le az alábbi parancsokat, melyek a fenti fájlt megfelelően lefordítják, és be is illesztik a létrehozott szabályunkat.&lt;br /&gt;
 # checkmodule -M -m -o shibd.mod shibd.te&lt;br /&gt;
 checkmodule:  loading policy configuration from shibd.te&lt;br /&gt;
 checkmodule:  policy configuration loaded&lt;br /&gt;
 checkmodule:  writing binary representation (version 6) to shibd.mod &lt;br /&gt;
 # semodule_package -o shibd.pp -m shibd.mod&lt;br /&gt;
 # semodule -i ./shibd.pp&lt;br /&gt;
&lt;br /&gt;
==Alapbeállítások==&lt;br /&gt;
A telepített Shibboleth SP konfigurációs állományait Linux alatt a /etc/shibboleth könyvtárban találjuk. Itt a &amp;lt;code&amp;gt;shibboleth2.xml&amp;lt;/code&amp;gt; és az &amp;lt;code&amp;gt;attribute-map.xml&amp;lt;/code&amp;gt; fájlokkal lesz dolgunk.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;shibboleth2.xml &amp;lt;/code&amp;gt;===&lt;br /&gt;
A telepítéskor alapértelmezetten érkező fájl nagyrészt megfelelő számunkra, az induláshoz csak az alább részletezett módosításokat kell megejtenünk. A változtatandó kódrészletek mind szerepelnek már az eredeti xml-ben is, így a feladat többnyire csak változtatásról, átírásról, bizonyos részek kommentjelek közül történő kiszabadításáról szól.&lt;br /&gt;
&lt;br /&gt;
* Választanunk kell egy entityID-t. Ez általában a védendő szolgáltatást futtató hosztnévből származik: &amp;lt;code&amp;gt;https://hosztnev/shibboleth&amp;lt;/code&amp;gt;, ezt az azonosítót beírni az &amp;lt;code &amp;gt;ApplicationDefaults&amp;lt;/code&amp;gt; részbe az alábbi módon (az entityID és a homeURL értékein kívül, ahová a hosztnév írandó be, alapértelmezés szerint mást nem szükséges változtatni): &lt;br /&gt;
&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationDefaults entityID=&amp;quot;https://hosztnév/shibboleth&amp;quot;&lt;br /&gt;
                         homeURL=&amp;quot;https://hosztnév/shib-error.html&amp;quot;&lt;br /&gt;
                         signing=&amp;quot;false&amp;quot; encryption=&amp;quot;false&amp;quot;&lt;br /&gt;
                         id=&amp;quot;default&amp;quot; policyId=&amp;quot;default&amp;quot;&lt;br /&gt;
                         REMOTE_USER=&amp;quot;eppn persistent-id targeted-id&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Meg kell adni, hogy egy Discovery Service-n keresztül kérjük meg a felhasználót, hogy adja meg, mely IdP-től érkezik, avagy csak IdP-t engedélyezünk számukra. Az első eset nyilvános szolgáltatások esetében indokolt, a második belső, pl. csak intézményi oldalak védésénél szükséges.&lt;br /&gt;
&lt;br /&gt;
** Discovery Service beállítása&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;SSO discoveryProtocol=&amp;quot;SAMLDS&amp;quot; discoveryURL=&amp;quot;https://discovery.eduid.hu&amp;quot;&amp;gt;&lt;br /&gt;
  SAML2 SAML1&lt;br /&gt;
 &amp;lt;/SSO&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Fix IdP beállítása&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;SSO entityID=&amp;quot;https://idp.example.org/idp/shibboleth&amp;quot;&amp;gt;&lt;br /&gt;
  SAML2 SAML1&lt;br /&gt;
 &amp;lt;/SSO&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Meg kell adnunk, hogy milyen metadata forrásból dolgozzon az SP, az alábbi példában az eduID-ban használatos beállítás látható (a hivatkozott href-metadata-signer-2011.crt fájl a [http://metadata.eduid.hu http://metadata.eduid.hu] címről töltendő le a shibboleth konfigurációs könyvtárába) :&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;http://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
              backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2011.crt&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Meg kell adni, hogy az SP mely kulcsot és tanúsítványt használja. Ehhez egy self-signed tanúsítványra lesz szükség, amely pl. az alábbi paranccsal generálható:&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -newkey rsa:2048 -x509 -days 3652 -nodes -out sp.example.org.crt -keyout sp.example.org.key&lt;br /&gt;
&lt;br /&gt;
Az xml-ben módosítandó részlet pedig:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;sp.example.org.key&amp;quot; certificate=&amp;quot;sp.example.org.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Végül ugorjunk vissza a fájl első felére, szedjük ki a kommentjeleket a &amp;lt;code&amp;gt;RequestMapper&amp;lt;/code&amp;gt; rész körül, adjuk meg a kezelendő hosztokat és path-okat. Egy Shibboleth SP példány több, az adott webszerver által kezelt hosztot is kezelni tud, és egy-egy hoszton belül több útvonalat is, ezeket itt meg kell adni. Alább egy példa:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;RequestMapper type=&amp;quot;Native&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Host name=&amp;quot;hosztnév&amp;quot; authType=&amp;quot;shibboleth&amp;quot; requireSession=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Path name=&amp;quot;secure&amp;quot; authType=&amp;quot;shibboleth&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
    &amp;lt;/RequestMapper&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A péda szerint a hosztnév alatti tartalom nem kíván meg shibbolethes azonosítást, kivéve a &amp;lt;code&amp;gt;/secure&amp;lt;/code&amp;gt; location. Ha valahol shibbolethes azonosítást kívánunk használni, azt ezen kívül az adott hoszt webszerver konfigjában is jeleznünk kell. Apache-nál az alábbi módon.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /secure&amp;gt;&lt;br /&gt;
  AuthType shibboleth&lt;br /&gt;
  require valid-user&lt;br /&gt;
  ShibUseHeaders On&lt;br /&gt;
  ShibRequireSession On&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SP adatainak közzététele ==&lt;br /&gt;
A fenti beállítások után egy működő Shibboleth SP-t kapunk eredményül, ugyanakkor ténylegesen csak akkor fog tudni együttműködni a föderációban résztvevő IdP-kkel, ha az SP metaadatait közzétesszük, így azt az IdPk megismerhetik. Ehhez az eduID föderációban a frissen beállított SP adatait a [[Resource_Registry|Resource Registry]] nevű webes adminisztrációs oldalon kell felvinni egy varázsló segítségével, majd a jóváhagyás után várni pár órát, amíg a változások érvénybe lépnek. Ha nincs az intézményi entitások menedzseléséhez jogod ('Access denied'), akkor konzultálj az intézményed eduID kapcsolattartójával, hogy az SP-det szeretnéd a föderációba regisztrálni. Segítséget nyújt az alábbi lista: https://rr.eduid.hu/list&lt;br /&gt;
&lt;br /&gt;
== HEXAA integráció ==&lt;br /&gt;
&lt;br /&gt;
Ha az eduID-ban használatos külső attribútum forrást is szeretnénk az SP-nkhez illeszteni, akkor a shibboleth2.xml fileban a következő példán keresztül lehet megtenni.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;AttributeResolver type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeResolver type=&amp;quot;Query&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeResolver type=&amp;quot;SimpleAggregation&amp;quot; attributeId=&amp;quot;eppn&amp;quot; format=&amp;quot;urn:oid:1.3.6.1.4.1.5923.1.1.1.6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Entity&amp;gt;https://hexaa.eduid.hu/hexaa&amp;lt;/Entity&amp;gt;&lt;br /&gt;
        &amp;lt;Attribute Name=&amp;quot;urn:oid:1.3.6.1.4.1.5923.1.1.1.7&amp;quot; NameFormat=&amp;quot;urn:oasis:names:tc:SAML:2.0:attrname-format:uri&amp;quot; FriendlyName=&amp;quot;eduPersonEntitlement&amp;quot;/&amp;gt;  &lt;br /&gt;
    &amp;lt;/AttributeResolver&amp;gt;&lt;br /&gt;
  &amp;lt;/AttributeResolver&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kapcsolódó lapok ==&lt;br /&gt;
* [[FastCGI | Shibboleth 2 SP telepítése FastCGI alapú webszerver környezetben]]&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: Shibboleth SP]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Cloud_for_Education&amp;diff=3567</id>
		<title>Cloud for Education</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Cloud_for_Education&amp;diff=3567"/>
				<updated>2016-04-13T09:21:51Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cloud 4 Education - FAQ&lt;br /&gt;
&lt;br /&gt;
==Nem tudom, hogy mi az azonosító és jelszó a példányosított image-emhez.==&lt;br /&gt;
Mert nem kötötted hozzá a publikus kulcsodat, amit előzőleg feltöltöttél az access &amp;amp; security key pairs fül alatt. Az SSH kulcsos azonosítással történik.&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Cloud_for_Education&amp;diff=3566</id>
		<title>Cloud for Education</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Cloud_for_Education&amp;diff=3566"/>
				<updated>2016-04-13T08:42:59Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cloud 4 Education - FAQ&lt;br /&gt;
&lt;br /&gt;
Image-ek default kredenciálisai:&lt;br /&gt;
&lt;br /&gt;
'''CentOS_7'''&lt;br /&gt;
* username: toltse_ki_aki_ismeri&lt;br /&gt;
* password: toltse_ki_aki_ismeri&lt;br /&gt;
&lt;br /&gt;
'''debian_8.3'''&lt;br /&gt;
* username: toltse_ki_aki_ismeri&lt;br /&gt;
* password: toltse_ki_aki_ismeri&lt;br /&gt;
&lt;br /&gt;
'''CirrOS'''&lt;br /&gt;
* username: toltse_ki_aki_ismeri&lt;br /&gt;
* password: toltse_ki_aki_ismeri&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shibboleth_Service_Provider_(SP)&amp;diff=3521</id>
		<title>Shibboleth Service Provider (SP)</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shibboleth_Service_Provider_(SP)&amp;diff=3521"/>
				<updated>2016-01-28T13:11:51Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő Shibboleth SP-t állítsunk üzembe. Fontos, hogy rengeteg olyan igény lehet, amely további speciális beállítások meglétét teszik szükségessé, ezeket ezen a lapon nem részletezzük, ilyen irányú tájékozódáshoz legbiztosabb forrás a [http://wiki.shibboleth.net http://wiki.shibboleth.net] lap.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
A Shibboleth SP egy webszerver modul, így szükséges előfeltétel, hogy a gépünkön legyen egy webszerver telepítve, jelenleg Apache és IIS a biztosan támogatott webszerverek. Emellett szükséges, hogy a 443-as port a tűzfalon mindkét irányban engedélyezett legyen, ill. a hosztnév, amelyen a webszerver üzemel, be legyen jegyezve a DNS-be.&lt;br /&gt;
&lt;br /&gt;
===Letöltés és telepítés===&lt;br /&gt;
A legfrissebb változat letölthető [https://wiki.shibboleth.net/confluence/display/SHIB2/Installation https://wiki.shibboleth.net/confluence/display/SHIB2/Installation] címről. Célszerű valamilyen előre csomagolt változattal dolgozni, melyet az adott rendszer csomagkezelőjén keresztül egy mozdulattal feltelepíthetünk minden függőségével együtt.&lt;br /&gt;
&lt;br /&gt;
====Debian Squeeze====&lt;br /&gt;
A [http://wiki.debian.org/Teams/DebianShibboleth Debian Shibboleth] csapat által készített új verziók időről időre bekerülnek [http://backports.org backports.org] tárolóiba is, ezért stable Debiant futtató rendszereken javasolt ezt használni.&lt;br /&gt;
&lt;br /&gt;
A backports.org tárolójának beállításához adjuk hozzá a &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; fájlhoz a következő sort:&lt;br /&gt;
 deb http://backports.debian.org/debian-backports squeeze-backports main&lt;br /&gt;
&lt;br /&gt;
A csomagokat így telepíthetjük:&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
 sudo aptitude install -t squeeze-backports libapache2-mod-shib2&lt;br /&gt;
&lt;br /&gt;
Ez a Shibboleth webszerver modul függőségeit is telepíti. A Shibboleth használatba vételéhez engedélyezni kell a modult és újra kell indítani az Apache webszervert.&lt;br /&gt;
&lt;br /&gt;
====RPM alapú disztribúciók====&lt;br /&gt;
Shibboleth SP-ből RHEL/CENTOS rendszerekre egyből rendelkezésünkre áll bináris csomag, a fejlesztők ezen platformokon dolgoznak első körben. A telepítés előtt a teendőnk mindössze annyi, hogy a YUM forrásokhoz hozzá kell adni a Shibboleth SP repóját. Ehhez látogassunk el a [http://download.opensuse.org/repositories/security://shibboleth/ http://download.opensuse.org/repositories/security://shibboleth/] oldalra, majd a pontos verzió kiválasztása után a security:shibboleth.repo fájl tartalmát másoljuk be a /etc/yum/ &amp;lt;code&amp;gt;/etc/yum.repos.d/CentOS-Base.repo&amp;lt;/code&amp;gt; fájl aljára, majd &lt;br /&gt;
 yum install shibboleth&lt;br /&gt;
&lt;br /&gt;
'''Hibaelhárítás: Can't connect to listener process'''&lt;br /&gt;
&lt;br /&gt;
Ha a fenti hibába futunk bele, az azt jelenti, hogy a SE linux nem engedi kommunikálni a shibd és a httpd folyamatokat, ezért ezt külön engedélyezni kell. Ehhez készítsünk egy fájlt &amp;lt;code&amp;gt;shibd.te&amp;lt;/code&amp;gt; néven, melynek tartalma az alábbi legyen:&lt;br /&gt;
 module shibd 1.0;&lt;br /&gt;
 require {&lt;br /&gt;
        type var_run_t;&lt;br /&gt;
        type httpd_t;&lt;br /&gt;
        type initrc_t;&lt;br /&gt;
        class sock_file write;&lt;br /&gt;
        class unix_stream_socket connectto;&lt;br /&gt;
 } &lt;br /&gt;
 #============= httpd_t ============== &lt;br /&gt;
 allow httpd_t initrc_t:unix_stream_socket connectto;&lt;br /&gt;
 allow httpd_t var_run_t:sock_file write;&lt;br /&gt;
&lt;br /&gt;
Ezek után futtassuk le az alábbi parancsokat, melyek a fenti fájlt megfelelően lefordítják, és be is illesztik a létrehozott szabályunkat.&lt;br /&gt;
 # checkmodule -M -m -o shibd.mod shibd.te&lt;br /&gt;
 checkmodule:  loading policy configuration from shibd.te&lt;br /&gt;
 checkmodule:  policy configuration loaded&lt;br /&gt;
 checkmodule:  writing binary representation (version 6) to shibd.mod &lt;br /&gt;
 # semodule_package -o shibd.pp -m shibd.mod&lt;br /&gt;
 # semodule -i ./shibd.pp&lt;br /&gt;
&lt;br /&gt;
==Alapbeállítások==&lt;br /&gt;
A telepített Shibboleth SP konfigurációs állományait Linux alatt a /etc/shibboleth könyvtárban találjuk. Itt a &amp;lt;code&amp;gt;shibboleth2.xml&amp;lt;/code&amp;gt; és az &amp;lt;code&amp;gt;attribute-map.xml&amp;lt;/code&amp;gt; fájlokkal lesz dolgunk.&lt;br /&gt;
&lt;br /&gt;
=== &amp;lt;code&amp;gt;shibboleth2.xml &amp;lt;/code&amp;gt;===&lt;br /&gt;
A telepítéskor alapértelmezetten érkező fájl nagyrészt megfelelő számunkra, az induláshoz csak az alább részletezett módosításokat kell megejtenünk. A változtatandó kódrészletek mind szerepelnek már az eredeti xml-ben is, így a feladat többnyire csak változtatásról, átírásról, bizonyos részek kommentjelek közül történő kiszabadításáról szól.&lt;br /&gt;
&lt;br /&gt;
* Választanunk kell egy entityID-t. Ez általában a védendő szolgáltatást futtató hosztnévből származik: &amp;lt;code&amp;gt;https://hosztnev/shibboleth&amp;lt;/code&amp;gt;, ezt az azonosítót beírni az &amp;lt;code &amp;gt;ApplicationDefaults&amp;lt;/code&amp;gt; részbe az alábbi módon (az entityID és a homeURL értékein kívül, ahová a hosztnév írandó be, alapértelmezés szerint mást nem szükséges változtatni): &lt;br /&gt;
&amp;lt;code lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ApplicationDefaults entityID=&amp;quot;https://hosztnév/shibboleth&amp;quot;&lt;br /&gt;
                         homeURL=&amp;quot;https://hosztnév/shib-error.html&amp;quot;&lt;br /&gt;
                         signing=&amp;quot;false&amp;quot; encryption=&amp;quot;false&amp;quot;&lt;br /&gt;
                         id=&amp;quot;default&amp;quot; policyId=&amp;quot;default&amp;quot;&lt;br /&gt;
                         REMOTE_USER=&amp;quot;eppn persistent-id targeted-id&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Meg kell adni, hogy egy Discovery Service-n keresztül kérjük meg a felhasználót, hogy adja meg, mely IdP-től érkezik, avagy csak IdP-t engedélyezünk számukra. Az első eset nyilvános szolgáltatások esetében indokolt, a második belső, pl. csak intézményi oldalak védésénél szükséges.&lt;br /&gt;
&lt;br /&gt;
** Discovery Service beállítása&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;SSO discoveryProtocol=&amp;quot;SAMLDS&amp;quot; discoveryURL=&amp;quot;https://discovery.eduid.hu&amp;quot;&amp;gt;&lt;br /&gt;
  SAML2 SAML1&lt;br /&gt;
 &amp;lt;/SSO&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** Fix IdP beállítása&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;SSO entityID=&amp;quot;https://idp.example.org/idp/shibboleth&amp;quot;&amp;gt;&lt;br /&gt;
  SAML2 SAML1&lt;br /&gt;
 &amp;lt;/SSO&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Meg kell adnunk, hogy milyen metadata forrásból dolgozzon az SP, az alábbi példában az eduID-ban használatos beállítás látható (a hivatkozott href-metadata-signer-2011.crt fájl a [http://metadata.eduid.hu http://metadata.eduid.hu] címről töltendő le a shibboleth konfigurációs könyvtárába) :&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;MetadataProvider type=&amp;quot;XML&amp;quot; uri=&amp;quot;http://metadata.eduid.hu/current/href.xml&amp;quot;&lt;br /&gt;
              backingFilePath=&amp;quot;href.xml&amp;quot; reloadInterval=&amp;quot;7200&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;MetadataFilter type=&amp;quot;Signature&amp;quot; certificate=&amp;quot;href-metadata-signer-2011.crt&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Meg kell adni, hogy az SP mely kulcsot és tanúsítványt használja. Ehhez egy self-signed tanúsítványra lesz szükség, amely pl. az alábbi paranccsal generálható:&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out sp.example.org.crt -keyout sp.example.org.key&lt;br /&gt;
&lt;br /&gt;
Az xml-ben módosítandó részlet pedig:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;CredentialResolver type=&amp;quot;File&amp;quot; key=&amp;quot;sp.example.org.key&amp;quot; certificate=&amp;quot;sp.example.org.crt&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Végül ugorjunk vissza a fájl első felére, szedjük ki a kommentjeleket a &amp;lt;code&amp;gt;RequestMapper&amp;lt;/code&amp;gt; rész körül, adjuk meg a kezelendő hosztokat és path-okat. Egy Shibboleth SP példány több, az adott webszerver által kezelt hosztot is kezelni tud, és egy-egy hoszton belül több útvonalat is, ezeket itt meg kell adni. Alább egy példa:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;RequestMapper type=&amp;quot;Native&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;RequestMap applicationId=&amp;quot;default&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Host name=&amp;quot;hosztnév&amp;quot; authType=&amp;quot;shibboleth&amp;quot; requireSession=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;Path name=&amp;quot;secure&amp;quot; authType=&amp;quot;shibboleth&amp;quot; requireSession=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;/Host&amp;gt;&lt;br /&gt;
        &amp;lt;/RequestMap&amp;gt;&lt;br /&gt;
    &amp;lt;/RequestMapper&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A péda szerint a hosztnév alatti tartalom nem kíván meg shibbolethes azonosítást, kivéve a &amp;lt;code&amp;gt;/secure&amp;lt;/code&amp;gt; location. Ha valahol shibbolethes azonosítást kívánunk használni, azt ezen kívül az adott hoszt webszerver konfigjában is jeleznünk kell. Apache-nál az alábbi módon.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Location /secure&amp;gt;&lt;br /&gt;
  AuthType shibboleth&lt;br /&gt;
  require valid-user&lt;br /&gt;
  ShibUseHeaders On&lt;br /&gt;
  ShibRequireSession On&lt;br /&gt;
 &amp;lt;/Location&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SP adatainak közzététele ==&lt;br /&gt;
A fenti beállítások után egy működő Shibboleth SP-t kapunk eredményül, ugyanakkor ténylegesen csak akkor fog tudni együttműködni a föderációban résztvevő IdP-kkel, ha az SP metaadatait közzétesszük, így azt az IdPk megismerhetik. Ehhez az eduID föderációban a frissen beállított SP adatait a [[Resource_Registry|Resource Registry]] nevű webes adminisztrációs oldalon kell felvinni egy varázsló segítségével, majd a jóváhagyás után várni pár órát, amíg a változások érvénybe lépnek.&lt;br /&gt;
&lt;br /&gt;
== HEXAA integráció ==&lt;br /&gt;
&lt;br /&gt;
Ha az eduID-ban használatos külső attribútum forrást is szeretnénk az SP-nkhez illeszteni, akkor a shibboleth2.xml fileban a következő példán keresztül lehet megtenni.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;AttributeResolver type=&amp;quot;Chaining&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeResolver type=&amp;quot;Query&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;AttributeResolver type=&amp;quot;SimpleAggregation&amp;quot; attributeId=&amp;quot;eppn&amp;quot; format=&amp;quot;urn:oid:1.3.6.1.4.1.5923.1.1.1.6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Entity&amp;gt;https://hexaa.eduid.hu/hexaa&amp;lt;/Entity&amp;gt;&lt;br /&gt;
        &amp;lt;Attribute Name=&amp;quot;urn:oid:1.3.6.1.4.1.5923.1.1.1.7&amp;quot; NameFormat=&amp;quot;urn:oasis:names:tc:SAML:2.0:attrname-format:uri&amp;quot; FriendlyName=&amp;quot;eduPersonEntitlement&amp;quot;/&amp;gt;  &lt;br /&gt;
    &amp;lt;/AttributeResolver&amp;gt;&lt;br /&gt;
  &amp;lt;/AttributeResolver&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kapcsolódó lapok ==&lt;br /&gt;
* [[FastCGI | Shibboleth 2 SP telepítése FastCGI alapú webszerver környezetben]]&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: Shibboleth SP]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=3503</id>
		<title>SimpleSAMLphp</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=3503"/>
				<updated>2015-12-02T14:15:20Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Attribútum scopeok használata */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő SimpleSAMLphp(SSP) alkalmazást állítsunk üzembe.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Ahhoz, hogy problémamentesen telepíthessük SSP alkalmazásunkat, az alábbi szoftverkomponenseknek kell működniük szerverünkön.&lt;br /&gt;
* PHP futtatására alkalmas webszerver&lt;br /&gt;
* PHP környezet (legalább 5.2.0 verzió)&lt;br /&gt;
* A következő PHP kiterjesztéseket engedélyezni kell&lt;br /&gt;
** &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dom&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcre&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SPL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
** LDAP-ból történő autentikáció esetén: &amp;lt;code&amp;gt;ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
** Adatbázisból történő autentikáció esetén a megfelelő adatbázis-csatolót &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pgsql&amp;lt;/code&amp;gt;&lt;br /&gt;
** RADIUS szerveren keresztül történő autentikáció esetén: &amp;lt;code&amp;gt;radius&amp;lt;/code&amp;gt;&lt;br /&gt;
** Assertion-ök titkosítása esetén: &amp;lt;code&amp;gt;mcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
** Memcache használata esetén: &amp;lt;code&amp;gt;memcache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Letöltés===&lt;br /&gt;
A legfrissebb változat letölthető [http://code.google.com/p/simplesamlphp/ http://code.google.com/p/simplesamlphp/] címről&lt;br /&gt;
&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xzf simplesamlphp-1.x.y.tar.gz&lt;br /&gt;
 mv simplesamlphp-1.x.y simplesamlphp&lt;br /&gt;
&lt;br /&gt;
Alapértelmezés szerint a &amp;lt;code&amp;gt;/var/simplesamlphp&amp;lt;/code&amp;gt; alatt szeretne majd működni, ez természetesen változtatható, de most maradunk az eredeti beállításoknál.&lt;br /&gt;
&lt;br /&gt;
===Apache konfigurálás===&lt;br /&gt;
&lt;br /&gt;
A webről csak a &amp;lt;code&amp;gt;/var/simplesamlphp/www&amp;lt;/code&amp;gt; könyvtárat kell elérni.&lt;br /&gt;
&lt;br /&gt;
 Alias /simplesaml /var/simplesamlphp/www&lt;br /&gt;
&lt;br /&gt;
===Alapbeállítások===&lt;br /&gt;
Mielőtt aktiváljuk valamelyik főszolgáltatását (IdP,SP...) a telepített alkalmazásnak, néhány beállítást meg kell adnunk a konfigurációs fájlban &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* '''Az &amp;quot;admin&amp;quot; felhasználó jelszavát, mellyel webes felületen keresztül be tud lépni a települő SSP-be.'''&lt;br /&gt;
 'auth.adminpassword'        =&amp;gt; 'ujjelszotirdide',&lt;br /&gt;
* '''Titkosítási feladatokhoz szükséges &amp;quot;salt&amp;quot;, azaz véletlenszerűen összeálló karaktersorozat'''&lt;br /&gt;
 'secretsalt' =&amp;gt; 'randombytesinsertedhere',&lt;br /&gt;
A karaktersorozat előállításában segíthet az alábbi parancs: &lt;br /&gt;
 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' &amp;lt;/dev/urandom | dd bs=32 count=1 2&amp;gt;/dev/null;echo&lt;br /&gt;
* '''Elérhetőségeket, amely adatok bekerülnek majd a generált metaadatba'''&lt;br /&gt;
 'technicalcontact_name'     =&amp;gt; 'Gipsz Jakab',&lt;br /&gt;
 'technicalcontact_email'    =&amp;gt; 'jakab.gipsz@example.org',&lt;br /&gt;
* '''Nyelv és időzóna adatok'''&lt;br /&gt;
 'language.default'      =&amp;gt; 'hu',&lt;br /&gt;
 'timezone' =&amp;gt; 'Europe/Budapest',&lt;br /&gt;
&lt;br /&gt;
===Telepítés kész===&lt;br /&gt;
Amennyiben elkészültünk a fenti lépésekkel, úgy a [https://service.example.org/simplesaml/ https://service.example.org/simplesaml/] címen elérjük a telepített SSP-nk webes adminfelületét, ahol megejthetjük a további beállítások nagy részét.&lt;br /&gt;
&lt;br /&gt;
==IdP beállítás==&lt;br /&gt;
===IdP funkció engedélyezése===&lt;br /&gt;
A &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk, s engedélyezni a saml20 idp lehetőséget.&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
===Autentikáció LDAP alapon===&lt;br /&gt;
Meg kell adni, hogy az IdP milyen módon azonosítsa a felhasználót, amennyiben alapértelmezés szerint nem engedélyezett modult szeretnénk használni, úgy a megfelelő modult a &amp;lt;code&amp;gt;modules&amp;lt;/code&amp;gt; könyvtár alatt engedélyezni kell. Az alábbi példában az LDAP alapú azonosítást mutatjuk be, amely külön modult nem igényel, alapértelmezés szerint része a telepített alkalmazásnak.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy megadhassuk az LDAP-hoz tartozó beállításokat, a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk. Az alábbi kódrészletet elegendő beszúrni, és az egyes változóknak a helyi LDAP-nak megfelelő adatokat értékül adni.&lt;br /&gt;
 'example-ldap' =&amp;gt; array(&lt;br /&gt;
    'ldap:LDAP',&lt;br /&gt;
 &lt;br /&gt;
    /* The hostname of the LDAP server. */&lt;br /&gt;
    'hostname' =&amp;gt; 'ldap.example.org',&lt;br /&gt;
 &lt;br /&gt;
    /* Whether SSL/TLS should be used when contacting the LDAP server. */&lt;br /&gt;
    'enable_tls' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * Which attributes should be retrieved from the LDAP server.&lt;br /&gt;
     * This can be an array of attribute names, or NULL, in which case&lt;br /&gt;
     * all attributes are fetched.&lt;br /&gt;
     */&lt;br /&gt;
    'attributes' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The pattern which should be used to create the users DN given the username.&lt;br /&gt;
     * %username% in this pattern will be replaced with the users username.&lt;br /&gt;
     *&lt;br /&gt;
     * This option is not used if the search.enable option is set to TRUE.&lt;br /&gt;
     */&lt;br /&gt;
    'dnpattern' =&amp;gt; 'uid=%username%,ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * As an alternative to specifying a pattern for the users DN, it is possible to&lt;br /&gt;
     * search for the username in a set of attributes. This is enabled by this option.&lt;br /&gt;
     */&lt;br /&gt;
    'search.enable' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The DN which will be used as a base for the search.&lt;br /&gt;
     * This can be a single string, in which case only that DN is searched, or an&lt;br /&gt;
     * array of strings, in which case they will be searched in the order given.&lt;br /&gt;
     */&lt;br /&gt;
    'search.base' =&amp;gt; 'ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The attribute(s) the username should match against.&lt;br /&gt;
     *&lt;br /&gt;
     * This is an array with one or more attribute names. Any of the attributes in&lt;br /&gt;
     * the array may match the value the username.&lt;br /&gt;
     */&lt;br /&gt;
    'search.attributes' =&amp;gt; array('uid', 'mail'),&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The username &amp;amp; password the simpleSAMLphp should bind to before searching. If&lt;br /&gt;
     * this is left as NULL, no bind will be performed before searching.&lt;br /&gt;
     */&lt;br /&gt;
    'search.username' =&amp;gt; NULL,&lt;br /&gt;
    'search.password' =&amp;gt; NULL,&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
===Metaadat alapok===&lt;br /&gt;
A beállítandó IdP alapvető paraméterei a &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlban állíthatók. Az alábbi kódrészlet egy minimális, de már működő példát mutat.&lt;br /&gt;
&lt;br /&gt;
 $metadata['__DYNAMIC:1__'] = array(&lt;br /&gt;
    /*&lt;br /&gt;
     * The hostname for this IdP. This makes it possible to run multiple&lt;br /&gt;
     * IdPs from the same configuration. '__DEFAULT__' means that this one&lt;br /&gt;
     * should be used by default.&lt;br /&gt;
     */&lt;br /&gt;
    'host' =&amp;gt; '__DEFAULT__',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The private key and certificate to use when signing responses.&lt;br /&gt;
     * These are stored in the cert-directory.&lt;br /&gt;
     */&lt;br /&gt;
    'privatekey' =&amp;gt; 'idp.example.org.key',&lt;br /&gt;
    'certificate' =&amp;gt; 'idp.example.org.crt',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The authentication source which should be used to authenticate the&lt;br /&gt;
     * user. This must match one of the entries in config/authsources.php.&lt;br /&gt;
     */&lt;br /&gt;
    'auth' =&amp;gt; 'example-ldap',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Teszteléshez is érdemes, éles használathoz pedig elengedhetetlen, hogy a csomagban érkezett tanúsítványt felülírjuk, ezt célszerű mihamarabb megtenni. Ehhez az alábbi parancs lehet segítségünkre.&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out idp.example.org.crt -keyout idp.example.org.key&lt;br /&gt;
A fingerprint az alábbi módon kérdezhető le a legegyszerűbben&lt;br /&gt;
 openssl x509 -fingerprint -noout -in idp.example.org.crt&lt;br /&gt;
&lt;br /&gt;
Megfelelő beállítások után a dinamikusan generált metadata a &amp;lt;code&amp;gt;/saml2/idp/metadata.php&amp;lt;/code&amp;gt; útvonalon érhető el.&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Legegyszerűbben a telepített SSP felületén tudjuk ellenőrizni, hogy a beállított autentikációs forrás működik-e. A felületen az Authentication fül alatt található egy 'Test authentication sources' link, amelyre kattintva látható minden beállított autentikációs forrás is, így a két alapértelmezett, teszt célokat szolgáló alatt a most beállított example-ldap névre hallgatónak is meg kell jelenni. (A közvetlen url erre az oldalra: simplesaml/module.php/core/authenticate.php) Ez utóbbira kattintva a beállított LDAP-ból autentikálva be kell tudnunk jelentkeznünk; siker esetén az LDAP-ból kinyerhető attribútumokat láthatjuk.&lt;br /&gt;
&lt;br /&gt;
==SP beállítás==&lt;br /&gt;
===Alapadatok===&lt;br /&gt;
A telepített alkalmazásunk által kezelt SP-ket a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlban tudjuk beállítani.&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of the IdP this should SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        'privatekey' =&amp;gt; 'saml.pem',&lt;br /&gt;
        'certificate' =&amp;gt; 'saml.crt',&lt;br /&gt;
 &lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A fenti beállítások alapján az SP entityID-ja megegyezik a metadata elérési útvonalával (szokásos megoldás SSP-nél), nem adunk meg alapértelmezett idp-t, ezáltal az SSP választási lehetőséget kínál fel számunkra, mikor az SP-re szeretnénk bejelentkezni, ill. most még Discovery Service URL-t sem adunk meg, hanem a beépítettet használjuk. Ez utóbbit majd a HREF-be történő integrációkor meg kell változtatni - lásd lejjebb.&lt;br /&gt;
&lt;br /&gt;
Az IdP beállításához hasonlóan itt is szükség lesz egy tanúsítvány generálására a &amp;lt;code&amp;gt;cert&amp;lt;/code&amp;gt; könyvtárba. Ehhez segítség lehet az alábbi parancs.&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.pem&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Amennyiben IdP is beállításra került, úgy a legcélszerűbb ezt összehangolni az SP-vel. Ehhez egyfelől a &amp;lt;code&amp;gt;metadata/saml20-idp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adni az IdP adatait, amely esetünkben az alábbiak szerint fest.&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/saml2/idp/metadata.php'] = array(&lt;br /&gt;
        'name' =&amp;gt; array(&lt;br /&gt;
                'en' =&amp;gt; 'TestSP'&lt;br /&gt;
        ),&lt;br /&gt;
        'SingleSignOnService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SSOService.php',&lt;br /&gt;
        'SingleLogoutService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SingleLogoutService.php',&lt;br /&gt;
        'certFingerprint'      =&amp;gt; 'afe71c28ef740bc87425be13a2263d37971da1f9'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ehhez hasonlóan a &amp;lt;code&amp;gt;metadata/saml20-sp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adnunk az SP adatait. Teszteléshez az alábbiak elegendők:&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array (&lt;br /&gt;
  'AssertionConsumerService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',&lt;br /&gt;
  'SingleLogoutService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ezek után az IdP tesztelésénél már említett oldalon a default-sp opciót kiválasztva, majd a legördülő menüben a TestSP-re kattintva be kell tudnunk jelentkezni az IdP-n keresztül. Ha működik, akkor az alapvető lépsekkel kész vagyunk, van egy működő SP-nk és egy működő IdP-nk.&lt;br /&gt;
&lt;br /&gt;
==HREF-integráció==&lt;br /&gt;
&lt;br /&gt;
===Metadata beállítása (IdP és SP is)===&lt;br /&gt;
* Az SSP-nél be kell állítani metaadat forrásként a központi metaadatot&lt;br /&gt;
:*Első lépésként engedélyezzük, hogy az SSP automatikusan frissíthesse a metaadatot, ill. az ezt elvégző két modult&lt;br /&gt;
 touch modules/metarefresh/enable&lt;br /&gt;
 cp modules/metarefresh/config-templates/*.php config/&lt;br /&gt;
 touch modules/cron/enable&lt;br /&gt;
 cp modules/cron/config-templates/*.php config/&lt;br /&gt;
&lt;br /&gt;
:*Létrehozunk egy könyvtárat, ahová letöltésre kerül az központi metaadat XML fájlja&lt;br /&gt;
 mkdir metadata/metarefresh-href&lt;br /&gt;
 chmod g+rw metadata/metarefresh-href&lt;br /&gt;
&lt;br /&gt;
{{ATTENTION|Ahhoz, hogy az automatikus metadata frissítés gond nélkül működjön, legalább '''1.13.2'''-es verziójú simpleSAMLphp kell, vagy korábbi változatokon frissíteni kell a &amp;lt;code&amp;gt;/path/to/simplesamlphp/lib/xmlseclibs.php&amp;lt;/code&amp;gt; fájlt [http://goo.gl/ilRHkV erre a fájlra]! Bővebb információ ehhez kapcsolódóan [http://simplesamlphp.org/metaprocessing erre.]&lt;br /&gt;
&lt;br /&gt;
Ha az eduGAIN metaadatait is feldolgozzuk, akkor fontos, hogy néhány paramétert emeljük legalább az alábbi értékekre:&lt;br /&gt;
* maximum memória foglalás (&amp;lt;code&amp;gt;memory_limit&amp;lt;/code&amp;gt;): '''512MB'''&lt;br /&gt;
* maximum végrehajtási idő (&amp;lt;code&amp;gt;max_execution_time&amp;lt;/code&amp;gt;): '''120 sec'''}}&lt;br /&gt;
&lt;br /&gt;
:*Ezek után be kell állítani a metaadat kokrét adatait a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlban&lt;br /&gt;
 $config = array(&lt;br /&gt;
    'sets' =&amp;gt; array(&lt;br /&gt;
        'hu' =&amp;gt; array(&lt;br /&gt;
            'cron'      =&amp;gt; array('hourly'),&lt;br /&gt;
            'sources'   =&amp;gt; array(&lt;br /&gt;
                array(&lt;br /&gt;
                    'src' =&amp;gt; 'http://metadata.eduid.hu/2011/href.xml',&lt;br /&gt;
                    'validateFingerprint' =&amp;gt; 'FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66',&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
            'expireAfter'       =&amp;gt; 60*60*24*4, // Maximum 4 days cache time.&lt;br /&gt;
            'outputDir'     =&amp;gt; 'metadata/metarefresh-href/',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
 );&lt;br /&gt;
:*Be kell állítani, hogy az SSP az automata által generált fájlokból dolgozzon. Ehhez a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlban keressük ki a &amp;lt;code&amp;gt;metadata.source&amp;lt;/code&amp;gt; szakaszt, és az alábbiak szerint szerkesszük át. Amennyiben nem csak a központi metaadatból szeretnénk dolgozni, úgy további sorokat is megadhatunk itt bemutatott mintájára.&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile'), // IdP esetén kell, itt van az önmagát leíró metadata&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile', 'directory' =&amp;gt; 'metadata/metarefresh-href'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
:*Végül le kell futtatni kézzel a cronjobot, amelyet az SSP webes felületén tudunk megtenni a Configuration fül alatt, a Cron module information page menüpontban. Ekkor létrejönnek a fájlok (majd óránként frissülnek is, ha beállítjuk cronjobként).&lt;br /&gt;
&lt;br /&gt;
===IdP===&lt;br /&gt;
Amennyiben van SSP alapú IdP-nk, melyet szeretnénk a föderáció részévé tenni, úgy a teendők a következők.&lt;br /&gt;
* (A jelenleg is formálódó adminisztratív teendőktől itt most eltekintünk)&lt;br /&gt;
* Kell küldeni egy levelet a [mailto:aai@niif.hu aai@niif.hu] címre, benne néhány mondat mellett az IdP metaadatának URL-jével (https://example.org/simplesamlphp/saml2/idp/metadata.php)&lt;br /&gt;
* Ha minden rendben megy, akkor az IdP bekerül a [[Resource_Registry]]-be, ezáltal a föderációs metaadatba is.&lt;br /&gt;
* Az előző pontban leírt módon be kell állítani a központi metadata feldolgozását.&lt;br /&gt;
* Amennyiben a föderációs metaadatban már szerepel a mi IdP-nk is, úgy a föderáció valamelyik, tesztelési célokat szolgáló SP-jénél ki is próbálhatjuk a bejelentkezést. &lt;br /&gt;
&lt;br /&gt;
:'''Fontos''', hogy a föderációs Discovery Service óránként generálja újra az IdP-k listáját, így ennyi idő mindenképp szükséges, hogy az új IdP megjelenjen itt, az egyes SP-k pedig két óránként töltik újra a metaadatot, így előfordulhat, hogy azonnal nem fog minden működni, de egy-két óra alatt várhatóan beindul. :)&lt;br /&gt;
&lt;br /&gt;
:Tesztelésre használható oldal: [https://wiki.aai.niif.hu/shibtest.php https://wiki.aai.niif.hu/shibtest.php]&lt;br /&gt;
&lt;br /&gt;
* Ahhoz, hogy a Resource Registry-be is be tudjunk lépni és az IdP további, a föderációra vonatkozó beállításait meg tudjuk ejteni, ehhez az IdP-nek ki kell adnia az alábbi attribútumokat:&lt;br /&gt;
** [[HREFAttributeSpec#mail|mail]] - ez belépés után, manuálisan is beállítható&lt;br /&gt;
** [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]&lt;br /&gt;
** [[HREFAttributeSpec#schacHomeOrganizationType|schacHomeOrganizationType]]&lt;br /&gt;
** [[HREFAttributeSpec#eduScopedAffiliation|eduPersonScopedAffiliation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Attribútumok kezelése====&lt;br /&gt;
Beállított IdP-nk alapértelmezés szerint azokat az attribútumokat adja ki, melyeket a metaadat alapján az SP kért (Lásd a metadatában a RequestedAttribute elemeket), és egyúttal alapból meg tudta szerezni a felhasználói adatbázisból, esetünkben az LDAP-ból. Mivel néhány attribútum nem szerepel az LDAP-ban, hanem az IdP-ben kell előállítani, így pár helyen módosítanunk kell az alapértelmezett konfiguráción.&lt;br /&gt;
&lt;br /&gt;
:1. Az &amp;lt;code&amp;gt;attributemap/name2oid.php&amp;lt;/code&amp;gt; fájlba az 's'-betűhöz szúrjuk be az alábbi sort:&lt;br /&gt;
 'schacHomeOrganizationType' =&amp;gt; 'urn:oid:1.3.6.1.4.1.25178.1.2.10',&lt;br /&gt;
:2. A &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlba szerkesszük be az alábbi kódrészlet értelemszerűen módosított változatát. Az &amp;lt;code&amp;gt;'auth' =&amp;gt; 'example-ldap',&amp;lt;/code&amp;gt; sor alatt kezdjük. Fontos, hogy egyúttal a config.php &amp;lt;code&amp;gt;authproc.idp&amp;lt;/code&amp;gt; részét kikommentezzük, nehogy az ottani sorszámokkal megadott default feladatok bekavarjanak.&lt;br /&gt;
&lt;br /&gt;
 'AttributeNameFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',&lt;br /&gt;
 'userid.attribute' =&amp;gt; 'uid', // Itt adjuk meg, hogy mely, az LDAPból származó attribútum alapján fogja az IdP kiszámítani az eduPersonTargetedID-t&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
                10 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'uid' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
                //Itt az 'uid' az az attribútum az LDAP-ban, amely a felhasználó azonosítóját tartalmazza, mert ebből képezzük az eduPersonPrincipalName-t.&lt;br /&gt;
                ),&lt;br /&gt;
                20 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                //Kötelező statikus attribútum az [[HREFAttributeSpec#schacHomeOrganizationType|intézmény jellegének]] megfelelően&lt;br /&gt;
                ),&lt;br /&gt;
                30 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonPrincipalName már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                40 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonAffiliation már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                50 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
                // Az LDAP-ból eduPersonAffiliation-ként érkező attribútumból föderációs elvárásoknak megfelelően eduPersonScopedAffiliationt készítünk&lt;br /&gt;
                ),&lt;br /&gt;
                60 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'eduPersonScopedAffiliation' =&amp;gt; array('member@intezmenydomain.hu')&lt;br /&gt;
                // Az eduPersonScopedAffiliation-ben tesztelés céljából kiadhatjuk member értéket, így ha LDAP-ból nem jön érték, akkor is láthatjuk, hogy működik az attribútum kiadás &lt;br /&gt;
                ),&lt;br /&gt;
                61 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
                        'nameId' =&amp;gt; TRUE,&lt;br /&gt;
                ),&lt;br /&gt;
               // Itt állítjuk be, hogy az IdP előállítson és kiadhasson állandóazonosítóként eduPersonTargetedID-t, ha kérik&lt;br /&gt;
                70 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'name2oid'&lt;br /&gt;
                // Az LDAP-os attribútum nevekből itt kreálunk szabványos urn:oid formátumúakat&lt;br /&gt;
                ),&lt;br /&gt;
                80 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
              ), // .authproc&lt;br /&gt;
       'simplesaml.nameidattribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
       'attributeencodings' =&amp;gt; array(&lt;br /&gt;
               'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw',&lt;br /&gt;
        ),&lt;br /&gt;
        'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
: További tudnivalók a [[Resource_Registry|Resource Registry-ről]], ill. a [[HREFAttributeSpec|Föderációs attribútum specifikációról]].&lt;br /&gt;
&lt;br /&gt;
* Ha minden rendben ment, akkor a Resource Registry-ben regisztrált IdP-hez tartozó adminisztrációs jogok átkerülnek az IdP technikai gazdájához, s ezzel a folyamat kész is.&lt;br /&gt;
&lt;br /&gt;
===SP===&lt;br /&gt;
Amennyiben IdP-t is beállítottunk, és be is tudunk lépni a Resource Registry-be, úgy nincs más dolgunk, mint az RR-ben új SP-t hozzáadni a föderációhoz, amely a megfelelő átfutási idő után a föderáció minden tagjánál látható is lesz.&lt;br /&gt;
&lt;br /&gt;
Ellenkező esetben (nincs IdP, és nem is tervezünk beállítani), akkor az IdP hozzáadásánál részletezett pontokon kell végig menni a metaadat betöltéséig, s a továbbiakat az említett e-mail címen megbeszélni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Attribútum scopeok használata====&lt;br /&gt;
A HREF föderáció IdP-i ún. scopeolt attribútumokat is használnak. Ez a scopeolás azt jelenti, hogy minden egyes IdP csak a saját scopejában ad ki attribútumokat, és a Shibboleth SP-k ezt ellenőrzik is. A scope és az attribútum valódi értéke egy '@' karakterrel kerül elválasztásra (ilyen attribútumok jelenleg: [[HREFAttributeSpec#eduPersonAffiliation|eduPersonScopedAffiliation]] illetve [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]).&lt;br /&gt;
&lt;br /&gt;
A SimpleSAMLphp alapértelmezett telepítése nem szűri a hibásan scopeolt értékeket. Kiegészítő modulként szűrésre használható az NIIF által fejlesztett [https://github.com/NIIF/simplesamlphp-module-attributescope attributescope modul], ami reményeink szerint rövid távon a hivatalos SimpleSAMLphp kiadás része lehet.&lt;br /&gt;
&lt;br /&gt;
A telepítésről és konfigurációról bővebben itt lehet olvasni:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://github.com/NIIF/simplesamlphp-module-attributescope&lt;br /&gt;
&lt;br /&gt;
: Az &amp;lt;code&amp;gt;attributescope&amp;lt;/code&amp;gt; modul használata esetén a következőképp kell módosítani a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Figyeljünk arra, hogy mire a modulhoz ér a vezérlés, az attribútumok nevei _friendlyName_ alakúak legyenek (ne pedig _oid_-ok). A példában erre utal a 49-es sor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 authproc.sp =  array(&lt;br /&gt;
                      ...&lt;br /&gt;
                     // 49 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
                     50 =&amp;gt; array(             'class' =&amp;gt; 'attributescope:FilterAttributes'&lt;br /&gt;
                     ),&lt;br /&gt;
                     ...&lt;br /&gt;
                ),&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: simpleSAMLphp]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3479</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3479"/>
				<updated>2015-11-03T10:18:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP SP oldalának konfigurálása, illesztés a föderációba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certificate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', illetve ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
A *config/config.php* file-ba &lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál, és egyé authentikációs szűrők futtatásakor az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
 &lt;br /&gt;
 'authproc.sp' =&amp;gt; array(&lt;br /&gt;
    ...&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
    ...&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
Ha még nem tettük meg, rakjunk ide is certificate-et.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out sp.crt -keyout sp.pem&lt;br /&gt;
&lt;br /&gt;
és könyveljük be a ''config/authsrouces.php'' -ba&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
     'saml:SP',&lt;br /&gt;
  ...&lt;br /&gt;
     'privatekey'  =&amp;gt; 'sp.pem',&lt;br /&gt;
     'certificate' =&amp;gt; 'sp.crt',&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3476</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3476"/>
				<updated>2015-11-03T09:34:45Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP SP oldalának konfigurálása, illesztés a föderációba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certificate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', illetve ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
A *config/config.php* file-ba &lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál, és egyé authentikációs szűrők futtatásakor az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
 &lt;br /&gt;
 'authproc.sp' =&amp;gt; array(&lt;br /&gt;
    ...&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
    ...&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
Ha még nem tettük meg, rakjunk ide is certificate-et.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out sp.crt -keyout sp.pem&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3475</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3475"/>
				<updated>2015-11-03T09:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP SP oldalának konfigurálása, illesztés a föderációba */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certificate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', illetve ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
A *config/config.php* file-ba &lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál, és egyé authentikációs szűrők futtatásakor az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
 &lt;br /&gt;
 'authproc.sp' =&amp;gt; array(&lt;br /&gt;
    ...&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
    ...&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
Ha még nem tettük meg, rakjunk ide is certificate-et.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 &lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3427</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3427"/>
				<updated>2015-10-30T12:00:08Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certificate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', illetve ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
A *config/config.php* file-ba &lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál, és egyé authentikációs szűrők futtatásakor az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
 &lt;br /&gt;
 'authproc.sp' =&amp;gt; array(&lt;br /&gt;
    ...&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
    ...&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3330</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3330"/>
				<updated>2015-09-09T16:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certificate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', illetve ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3329</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3329"/>
				<updated>2015-09-09T16:07:00Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert&lt;br /&gt;
 openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3328</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3328"/>
				<updated>2015-09-09T12:25:07Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* metarefresh */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'module.enable' =&amp;gt; array(&lt;br /&gt;
         'cron' =&amp;gt; TRUE,&lt;br /&gt;
         'metarefresh' =&amp;gt; TRUE,&lt;br /&gt;
 ),&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:VidyoAdmin3.png&amp;diff=3327</id>
		<title>Fájl:VidyoAdmin3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:VidyoAdmin3.png&amp;diff=3327"/>
				<updated>2015-09-09T12:23:41Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:VidyoAdmin1.png&amp;diff=3326</id>
		<title>Fájl:VidyoAdmin1.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:VidyoAdmin1.png&amp;diff=3326"/>
				<updated>2015-09-09T12:23:24Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3325</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3325"/>
				<updated>2015-09-09T12:23:13Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Vidyo admin portál */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin1.png]]&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Fájl:VidyoAdmin3.png]]&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=F%C3%A1jl:VidyoAdmin2.png&amp;diff=3324</id>
		<title>Fájl:VidyoAdmin2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=F%C3%A1jl:VidyoAdmin2.png&amp;diff=3324"/>
				<updated>2015-09-09T12:22:30Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3323</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3323"/>
				<updated>2015-09-09T12:21:39Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Vidyo admin portál */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin1.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin2.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
[[Fájl:VidyoAdmin2.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin3.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3322</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3322"/>
				<updated>2015-09-09T12:16:40Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
''config/config.php''&lt;br /&gt;
&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a ''cert'' könyvtárba ''idp.pem'', ''idp.crt'' néven.&lt;br /&gt;
&lt;br /&gt;
 cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az ''AttributeMap'' szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
''metadata/saml20-idp-hosted.php''&lt;br /&gt;
&lt;br /&gt;
 'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
 'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
 'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
 metadata/vidyo-sp.xml&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a ''config/config.php''-ben is:&lt;br /&gt;
&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
* hogy az azonosítás SAML alapú legyen, ''Authentication Type''&lt;br /&gt;
* fel kell tölteni az IdP metaadatát, ezt az ssp telepítés ''saml2/idp/metadata.php'' oldaláról tölthetjük le. ''Identity Provider (IdP) Metadata XML''&lt;br /&gt;
* be kell állítani az auto provisioninget, ''SAML provision type''&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. ''View Service Provider (SP) metadata XML''&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. ''Edit IdP Attribute Mapping...''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin1.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az ''AttributeMap'' szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin2.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin3.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3321</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3321"/>
				<updated>2015-09-09T11:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* simpleSAMLphp telepítése */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a [https://simplesamlphp.org/docs/stable/simplesamlphp-install dokumentáció] szerint.&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a _cert_ könyvtárba _idp.pem_, _idp.crt_ néven.&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az _AttributeMap_ szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
metadata/saml20-idp-hosted.php&lt;br /&gt;
```&lt;br /&gt;
'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
),&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
``` metadata/vidyo-sp.xml ```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a _config/config.php_-ben is:&lt;br /&gt;
```&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
 ```&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
 * hogy az azonosítás SAML alapú legyen, _Authentication Type_&lt;br /&gt;
 * fel kell tölteni az IdP metaadatát, ezt az ssp telepítés _saml2/idp/metadata.php_ oldaláról tölthetjük le. _Identity Provider (IdP) Metadata XML_&lt;br /&gt;
 * be kell állítani az auto provisioninget, _SAML provision type_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. _View Service Provider (SP) metadata XML_&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. _Edit IdP Attribute Mapping..._&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin1.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az _AttributeMap_ szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: [https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php](https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin2.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin3.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3320</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3320"/>
				<updated>2015-09-09T11:03:10Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Vidyo Portal Authentication Proxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a  [dokumentáció](https://simplesamlphp.org/docs/stable/simplesamlphp-install) szerint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a _cert_ könyvtárba _idp.pem_, _idp.crt_ néven.&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az _AttributeMap_ szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
metadata/saml20-idp-hosted.php&lt;br /&gt;
```&lt;br /&gt;
'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
),&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
``` metadata/vidyo-sp.xml ```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a _config/config.php_-ben is:&lt;br /&gt;
```&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
 ```&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
 * hogy az azonosítás SAML alapú legyen, _Authentication Type_&lt;br /&gt;
 * fel kell tölteni az IdP metaadatát, ezt az ssp telepítés _saml2/idp/metadata.php_ oldaláról tölthetjük le. _Identity Provider (IdP) Metadata XML_&lt;br /&gt;
 * be kell állítani az auto provisioninget, _SAML provision type_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. _View Service Provider (SP) metadata XML_&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. _Edit IdP Attribute Mapping..._&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin1.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az _AttributeMap_ szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: [https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php](https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin2.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin3.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3319</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3319"/>
				<updated>2015-09-09T11:01:34Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a  [dokumentáció](https://simplesamlphp.org/docs/stable/simplesamlphp-install) szerint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a _cert_ könyvtárba _idp.pem_, _idp.crt_ néven.&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az _AttributeMap_ szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
metadata/saml20-idp-hosted.php&lt;br /&gt;
```&lt;br /&gt;
'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
),&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
``` metadata/vidyo-sp.xml ```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a _config/config.php_-ben is:&lt;br /&gt;
```&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
 ```&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
 * hogy az azonosítás SAML alapú legyen, _Authentication Type_&lt;br /&gt;
 * fel kell tölteni az IdP metaadatát, ezt az ssp telepítés _saml2/idp/metadata.php_ oldaláról tölthetjük le. _Identity Provider (IdP) Metadata XML_&lt;br /&gt;
 * be kell állítani az auto provisioninget, _SAML provision type_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. _View Service Provider (SP) metadata XML_&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. _Edit IdP Attribute Mapping..._&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin1.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az _AttributeMap_ szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: [https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php](https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin2.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin3.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3318</id>
		<title>SimpleSAMLphp proxy vidyo portálhoz</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp_proxy_vidyo_port%C3%A1lhoz&amp;diff=3318"/>
				<updated>2015-09-09T11:01:04Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: Új oldal, tartalma: „= Vidyo Portal Authentication Proxy =   A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.   Az implementáci…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Vidyo Portal Authentication Proxy =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A vidyo portál utolsó fejlesztései lehetővé tették a SAML alapú authentikációt, és authorizációt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Az implementáció nem teljesen fedi le a SAML feature-öket, az SP implementáció csak egy IdP-vel képes kapcsolatot létesíteni.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A portált a simpleSAMLphp proxy-ként való telepítésével tehetjük egy föderáció tagjává.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== simpleSAMLphp telepítése ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A simplesamlphp telepítését elvégezzük a  [dokumentáció](https://simplesamlphp.org/docs/stable/simplesamlphp-install) szerint.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  SSP IdP oldalának konfigurálása, illesztés a Vidyo portál felé ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legelőször is engedélyezni kell az IdP funkciót&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
```&lt;br /&gt;
'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gyártsuk le az IdP certifikate-jét, és rakjuk a _cert_ könyvtárba _idp.pem_, _idp.crt_ néven.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
```&lt;br /&gt;
cd cert openssl req -newkey rsa:2048 -new -x509 -days 3652 -nodes -out idp.crt -keyout idp.pem&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a vidyo portál oldalon az attribútum megfeleltetéseknél ne okozzanak gondot az oid formátumú attribútum nevek, mielőtt kiadjuk őket, az _AttributeMap_ szűrő segítségével alakítsuk át az attribútum neveket.  Mindezt vezessük be a hosztolt IdP konfigurációs részébe:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
metadata/saml20-idp-hosted.php&lt;br /&gt;
```&lt;br /&gt;
'auth' =&amp;gt; 'default-sp',&lt;br /&gt;
'privatekey' =&amp;gt; 'idp.pem',&lt;br /&gt;
'certificate' =&amp;gt; 'idp.crt',&lt;br /&gt;
'authproc' =&amp;gt; array(&lt;br /&gt;
    200 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
),&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A vidyo portál admin felületéről le kell tölteni a portál metaadatát, és el kell menteni a metadata könyvtárba.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
``` metadata/vidyo-sp.xml ```&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Erre hivatkozni kell a _config/config.php_-ben is:&lt;br /&gt;
```&lt;br /&gt;
'metadata.sources' =&amp;gt; array(&lt;br /&gt;
     ...&lt;br /&gt;
     array('type' =&amp;gt; 'xml', 'file' =&amp;gt; 'metadata/vidyo-sp.xml'), // vidyo sp&lt;br /&gt;
     ... ),&lt;br /&gt;
 ```&lt;br /&gt;
=== Vidyo admin portál ===&lt;br /&gt;
A portálon be kell állítani,&lt;br /&gt;
 * hogy az azonosítás SAML alapú legyen, _Authentication Type_&lt;br /&gt;
 * fel kell tölteni az IdP metaadatát, ezt az ssp telepítés _saml2/idp/metadata.php_ oldaláról tölthetjük le. _Identity Provider (IdP) Metadata XML_&lt;br /&gt;
 * be kell állítani az auto provisioninget, _SAML provision type_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Az előző fejezetben említett portál metaadatát ezen az oldalon érjük el. _View Service Provider (SP) metadata XML_&lt;br /&gt;
Össze kell illeszteni a SAML rétegből jövő attribútumokat a Vidyo portál által használt adatmodellel. _Edit IdP Attribute Mapping..._&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin1.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A _SAML IdP Attribute Name_ oszlopokba az SSP-től kapott attribútum neveket kell írni. Ha a proxy IdP oldalán a példa szerint állítottuk be az _AttributeMap_ szűrőt, akkor itt az attribútumok friendly nevét kell beírnunk. Tipp: [https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php](https://github.com/simplesamlphp/simplesamlphp/blob/master/attributemap/name2oid.php)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin2.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bizonyos attribútumoknál lehetőség van érték mapping-re is, tipikusan csoport, vagy típus jellegű attribútumoknál, ahol a kapott attirbútumok értéke alapján &lt;br /&gt;
történik a megfeleltetés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
![Alt text](docs/images/Vidyo Admin3.png &amp;quot;Optional title&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SSP SP oldalának konfigurálása, illesztés a föderációba ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A proxy egyik oldala a föderáció felé, mint SP viselkedik. Az authsource-ot 'default-sp'-nek nevezzük el, erre kell hivatkozni a későbbiekben az IdP konfigurációban.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metadata ===&lt;br /&gt;
Az SP-t regisztráljuk be a kívánt föderációba a föderáció által megadott szabályok alapján.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== metarefresh ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hogy a metadadatok mindig napra készek legyenek, gondoskodjunk a metarefresh és cron modul beállításáról.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A konfigurációs file-okat a config könyvtárba kell elhelyezni a sablonokat a modulok config-templates alkönyvtáraiban találjuk meg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A modulok bekapcsolásáról a rendszer konfigurációban rendelkezhetünk a legegyszerűbben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config/config.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
      ....&lt;br /&gt;
      'module.enable' =&amp;gt; array(         'cron' =&amp;gt; TRUE,         'metarefresh' =&amp;gt; TRUE,      ),&lt;br /&gt;
     ....&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Szerkeszt%C5%91:Gyufi(AT)niif.hu&amp;diff=3317</id>
		<title>Szerkesztő:Gyufi(AT)niif.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Szerkeszt%C5%91:Gyufi(AT)niif.hu&amp;diff=3317"/>
				<updated>2015-09-09T10:44:52Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[simpleSAMLphp proxy vidyo portálhoz]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Szerkeszt%C5%91:Gyufi(AT)niif.hu&amp;diff=3316</id>
		<title>Szerkesztő:Gyufi(AT)niif.hu</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Szerkeszt%C5%91:Gyufi(AT)niif.hu&amp;diff=3316"/>
				<updated>2015-09-09T10:44:38Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: Új oldal, tartalma: „[simpleSAMLphp proxy vidyo portálhoz]”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[simpleSAMLphp proxy vidyo portálhoz]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2959</id>
		<title>SimpleSAMLphp</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2959"/>
				<updated>2014-11-20T10:44:36Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Attribútumok kezelése */ mégsem kell kétszer az orgtype...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő SimpleSAMLphp(SSP) alkalmazást állítsunk üzembe.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Ahhoz, hogy problémamentesen telepíthessük SSP alkalmazásunkat, az alábbi szoftverkomponenseknek kell működniük szerverünkön.&lt;br /&gt;
* PHP futtatására alkalmas webszerver&lt;br /&gt;
* PHP környezet (legalább 5.2.0 verzió)&lt;br /&gt;
* A következő PHP kiterjesztéseket engedélyezni kell&lt;br /&gt;
** &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dom&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcre&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SPL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
** LDAP-ból történő autentikáció esetén: &amp;lt;code&amp;gt;ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
** Adatbázisból történő autentikáció esetén a megfelelő adatbázis-csatolót &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pgsql&amp;lt;/code&amp;gt;&lt;br /&gt;
** RADIUS szerveren keresztül történő autentikáció esetén: &amp;lt;code&amp;gt;radius&amp;lt;/code&amp;gt;&lt;br /&gt;
** Assertion-ök titkosítása esetén: &amp;lt;code&amp;gt;mcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
** Memcache használata esetén: &amp;lt;code&amp;gt;memcache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Letöltés===&lt;br /&gt;
A legfrissebb változat letölthető [http://code.google.com/p/simplesamlphp/ http://code.google.com/p/simplesamlphp/] címről&lt;br /&gt;
&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xzf simplesamlphp-1.x.y.tar.gz&lt;br /&gt;
 mv simplesamlphp-1.x.y simplesamlphp&lt;br /&gt;
&lt;br /&gt;
Alapértelmezés szerint a &amp;lt;code&amp;gt;/var/simplesamlphp&amp;lt;/code&amp;gt; alatt szeretne majd működni, ez természetesen változtatható, de most maradunk az eredeti beállításoknál.&lt;br /&gt;
&lt;br /&gt;
===Apache konfigurálás===&lt;br /&gt;
&lt;br /&gt;
A webről csak a &amp;lt;code&amp;gt;/var/simplesamlphp/www&amp;lt;/code&amp;gt; könyvtárat kell elérni.&lt;br /&gt;
&lt;br /&gt;
 Alias /simplesaml /var/simplesamlphp/www&lt;br /&gt;
&lt;br /&gt;
===Alapbeállítások===&lt;br /&gt;
Mielőtt aktiváljuk valamelyik főszolgáltatását (IdP,SP...) a telepített alkalmazásnak, néhány beállítást meg kell adnunk a konfigurációs fájlban &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* '''Az &amp;quot;admin&amp;quot; felhasználó jelszavát, mellyel webes felületen keresztül be tud lépni a települő SSP-be.'''&lt;br /&gt;
 'auth.adminpassword'        =&amp;gt; 'ujjelszotirdide',&lt;br /&gt;
* '''Titkosítási feladatokhoz szükséges &amp;quot;salt&amp;quot;, azaz véletlenszerűen összeálló karaktersorozat'''&lt;br /&gt;
 'secretsalt' =&amp;gt; 'randombytesinsertedhere',&lt;br /&gt;
A karaktersorozat előállításában segíthet az alábbi parancs: &lt;br /&gt;
 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' &amp;lt;/dev/urandom | dd bs=32 count=1 2&amp;gt;/dev/null;echo&lt;br /&gt;
* '''Elérhetőségeket, amely adatok bekerülnek majd a generált metaadatba'''&lt;br /&gt;
 'technicalcontact_name'     =&amp;gt; 'Gipsz Jakab',&lt;br /&gt;
 'technicalcontact_email'    =&amp;gt; 'jakab.gipsz@example.org',&lt;br /&gt;
* '''Nyelv és időzóna adatok'''&lt;br /&gt;
 'language.default'      =&amp;gt; 'hu',&lt;br /&gt;
 'timezone' =&amp;gt; 'Europe/Budapest',&lt;br /&gt;
&lt;br /&gt;
===Telepítés kész===&lt;br /&gt;
Amennyiben elkészültünk a fenti lépésekkel, úgy a [https://service.example.org/simplesaml/ https://service.example.org/simplesaml/] címen elérjük a telepített SSP-nk webes adminfelületét, ahol megejthetjük a további beállítások nagy részét.&lt;br /&gt;
&lt;br /&gt;
==IdP beállítás==&lt;br /&gt;
===IdP funkció engedélyezése===&lt;br /&gt;
A &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk, s engedélyezni a saml20 idp lehetőséget.&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
===Autentikáció LDAP alapon===&lt;br /&gt;
Meg kell adni, hogy az IdP milyen módon azonosítsa a felhasználót, amennyiben alapértelmezés szerint nem engedélyezett modult szeretnénk használni, úgy a megfelelő modult a &amp;lt;code&amp;gt;modules&amp;lt;/code&amp;gt; könyvtár alatt engedélyezni kell. Az alábbi példában az LDAP alapú azonosítást mutatjuk be, amely külön modult nem igényel, alapértelmezés szerint része a telepített alkalmazásnak.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy megadhassuk az LDAP-hoz tartozó beállításokat, a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk. Az alábbi kódrészletet elegendő beszúrni, és az egyes változóknak a helyi LDAP-nak megfelelő adatokat értékül adni.&lt;br /&gt;
 'example-ldap' =&amp;gt; array(&lt;br /&gt;
    'ldap:LDAP',&lt;br /&gt;
 &lt;br /&gt;
    /* The hostname of the LDAP server. */&lt;br /&gt;
    'hostname' =&amp;gt; 'ldap.example.org',&lt;br /&gt;
 &lt;br /&gt;
    /* Whether SSL/TLS should be used when contacting the LDAP server. */&lt;br /&gt;
    'enable_tls' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * Which attributes should be retrieved from the LDAP server.&lt;br /&gt;
     * This can be an array of attribute names, or NULL, in which case&lt;br /&gt;
     * all attributes are fetched.&lt;br /&gt;
     */&lt;br /&gt;
    'attributes' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The pattern which should be used to create the users DN given the username.&lt;br /&gt;
     * %username% in this pattern will be replaced with the users username.&lt;br /&gt;
     *&lt;br /&gt;
     * This option is not used if the search.enable option is set to TRUE.&lt;br /&gt;
     */&lt;br /&gt;
    'dnpattern' =&amp;gt; 'uid=%username%,ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * As an alternative to specifying a pattern for the users DN, it is possible to&lt;br /&gt;
     * search for the username in a set of attributes. This is enabled by this option.&lt;br /&gt;
     */&lt;br /&gt;
    'search.enable' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The DN which will be used as a base for the search.&lt;br /&gt;
     * This can be a single string, in which case only that DN is searched, or an&lt;br /&gt;
     * array of strings, in which case they will be searched in the order given.&lt;br /&gt;
     */&lt;br /&gt;
    'search.base' =&amp;gt; 'ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The attribute(s) the username should match against.&lt;br /&gt;
     *&lt;br /&gt;
     * This is an array with one or more attribute names. Any of the attributes in&lt;br /&gt;
     * the array may match the value the username.&lt;br /&gt;
     */&lt;br /&gt;
    'search.attributes' =&amp;gt; array('uid', 'mail'),&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The username &amp;amp; password the simpleSAMLphp should bind to before searching. If&lt;br /&gt;
     * this is left as NULL, no bind will be performed before searching.&lt;br /&gt;
     */&lt;br /&gt;
    'search.username' =&amp;gt; NULL,&lt;br /&gt;
    'search.password' =&amp;gt; NULL,&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
===Metaadat alapok===&lt;br /&gt;
A beállítandó IdP alapvető paraméterei a &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlban állíthatók. Az alábbi kódrészlet egy minimális, de már működő példát mutat.&lt;br /&gt;
&lt;br /&gt;
 $metadata['__DYNAMIC:1__'] = array(&lt;br /&gt;
    /*&lt;br /&gt;
     * The hostname for this IdP. This makes it possible to run multiple&lt;br /&gt;
     * IdPs from the same configuration. '__DEFAULT__' means that this one&lt;br /&gt;
     * should be used by default.&lt;br /&gt;
     */&lt;br /&gt;
    'host' =&amp;gt; '__DEFAULT__',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The private key and certificate to use when signing responses.&lt;br /&gt;
     * These are stored in the cert-directory.&lt;br /&gt;
     */&lt;br /&gt;
    'privatekey' =&amp;gt; 'idp.example.org.key',&lt;br /&gt;
    'certificate' =&amp;gt; 'idp.example.org.crt',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The authentication source which should be used to authenticate the&lt;br /&gt;
     * user. This must match one of the entries in config/authsources.php.&lt;br /&gt;
     */&lt;br /&gt;
    'auth' =&amp;gt; 'example-ldap',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Teszteléshez is érdemes, éles használathoz pedig elengedhetetlen, hogy a csomagban érkezett tanúsítványt felülírjuk, ezt célszerű mihamarabb megtenni. Ehhez az alábbi parancs lehet segítségünkre.&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out idp.example.org.crt -keyout idp.example.org.key&lt;br /&gt;
A fingerprint az alábbi módon kérdezhető le a legegyszerűbben&lt;br /&gt;
 openssl x509 -fingerprint -noout -in idp.example.org.crt&lt;br /&gt;
&lt;br /&gt;
Megfelelő beállítások után a dinamikusan generált metadata a &amp;lt;code&amp;gt;/saml2/idp/metadata.php&amp;lt;/code&amp;gt; útvonalon érhető el.&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Legegyszerűbben a telepített SSP felületén tudjuk ellenőrizni, hogy a beállított autentikációs forrás működik-e. A felületen az Authentication fül alatt található egy 'Test authentication sources' link, amelyre kattintva látható minden beállított autentikációs forrás is, így a két alapértelmezett, teszt célokat szolgáló alatt a most beállított example-ldap névre hallgatónak is meg kell jelenni. (A közvetlen url erre az oldalra: simplesaml/module.php/core/authenticate.php) Ez utóbbira kattintva a beállított LDAP-ból autentikálva be kell tudnunk jelentkeznünk; siker esetén az LDAP-ból kinyerhető attribútumokat láthatjuk.&lt;br /&gt;
&lt;br /&gt;
==SP beállítás==&lt;br /&gt;
===Alapadatok===&lt;br /&gt;
A telepített alkalmazásunk által kezelt SP-ket a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlban tudjuk beállítani.&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of the IdP this should SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        'privatekey' =&amp;gt; 'saml.pem',&lt;br /&gt;
        'certificate' =&amp;gt; 'saml.crt',&lt;br /&gt;
 &lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A fenti beállítások alapján az SP entityID-ja megegyezik a metadata elérési útvonalával (szokásos megoldás SSP-nél), nem adunk meg alapértelmezett idp-t, ezáltal az SSP választási lehetőséget kínál fel számunkra, mikor az SP-re szeretnénk bejelentkezni, ill. most még Discovery Service URL-t sem adunk meg, hanem a beépítettet használjuk. Ez utóbbit majd a HREF-be történő integrációkor meg kell változtatni - lásd lejjebb.&lt;br /&gt;
&lt;br /&gt;
Az IdP beállításához hasonlóan itt is szükség lesz egy tanúsítvány generálására a &amp;lt;code&amp;gt;cert&amp;lt;/code&amp;gt; könyvtárba. Ehhez segítség lehet az alábbi parancs.&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.pem&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Amennyiben IdP is beállításra került, úgy a legcélszerűbb ezt összehangolni az SP-vel. Ehhez egyfelől a &amp;lt;code&amp;gt;metadata/saml20-idp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adni az IdP adatait, amely esetünkben az alábbiak szerint fest.&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/saml2/idp/metadata.php'] = array(&lt;br /&gt;
        'name' =&amp;gt; array(&lt;br /&gt;
                'en' =&amp;gt; 'TestSP'&lt;br /&gt;
        ),&lt;br /&gt;
        'SingleSignOnService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SSOService.php',&lt;br /&gt;
        'SingleLogoutService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SingleLogoutService.php',&lt;br /&gt;
        'certFingerprint'      =&amp;gt; 'afe71c28ef740bc87425be13a2263d37971da1f9'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ehhez hasonlóan a &amp;lt;code&amp;gt;metadata/saml20-sp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adnunk az SP adatait. Teszteléshez az alábbiak elegendők:&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array (&lt;br /&gt;
  'AssertionConsumerService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',&lt;br /&gt;
  'SingleLogoutService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ezek után az IdP tesztelésénél már említett oldalon a default-sp opciót kiválasztva, majd a legördülő menüben a TestSP-re kattintva be kell tudnunk jelentkezni az IdP-n keresztül. Ha működik, akkor az alapvető lépsekkel kész vagyunk, van egy működő SP-nk és egy működő IdP-nk.&lt;br /&gt;
&lt;br /&gt;
==HREF-integráció==&lt;br /&gt;
&lt;br /&gt;
===Metadata beállítása (IdP és SP is)===&lt;br /&gt;
* Az SSP-nél be kell állítani metaadat forrásként a központi metaadatot&lt;br /&gt;
:*Első lépésként engedélyezzük, hogy az SSP automatikusan frissíthesse a metaadatot, ill. az ezt elvégző két modult&lt;br /&gt;
 touch modules/metarefresh/enable&lt;br /&gt;
 cp modules/metarefresh/config-templates/*.php config/&lt;br /&gt;
 touch modules/cron/enable&lt;br /&gt;
 cp modules/cron/config-templates/*.php config/&lt;br /&gt;
&lt;br /&gt;
:*Létrehozunk egy könyvtárat, ahová letöltésre kerül az központi metaadat XML fájlja&lt;br /&gt;
 mkdir metadata/metarefresh-href&lt;br /&gt;
 chmod g+rw metadata/metarefresh-href&lt;br /&gt;
:*Ezek után be kell állítani a metaadat kokrét adatait a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlban&lt;br /&gt;
 $config = array(&lt;br /&gt;
    'sets' =&amp;gt; array(&lt;br /&gt;
        'hu' =&amp;gt; array(&lt;br /&gt;
            'cron'      =&amp;gt; array('hourly'),&lt;br /&gt;
            'sources'   =&amp;gt; array(&lt;br /&gt;
                array(&lt;br /&gt;
                    'src' =&amp;gt; 'http://metadata.eduid.hu/2011/href.xml',&lt;br /&gt;
                    'validateFingerprint' =&amp;gt; 'FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66',&lt;br /&gt;
                    'template' =&amp;gt; array(&lt;br /&gt;
                        'authproc' =&amp;gt; array(&lt;br /&gt;
                            51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
            'expireAfter'       =&amp;gt; 60*60*24*4, // Maximum 4 days cache time.&lt;br /&gt;
            'outputDir'     =&amp;gt; 'metadata/metarefresh-href/',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
 );&lt;br /&gt;
:*Be kell állítani, hogy az SSP az automata által generált fájlokból dolgozzon. Ehhez a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlban keressük ki a &amp;lt;code&amp;gt;metadata.source&amp;lt;/code&amp;gt; szakaszt, és az alábbiak szerint szerkesszük át. Amennyiben nem csak a központi metaadatból szeretnénk dolgozni, úgy további sorokat is megadhatunk itt bemutatott mintájára.&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile'), // IdP esetén kell, itt van az önmagát leíró metadata&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile', 'directory' =&amp;gt; 'metadata/metarefresh-href'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
:*Végül le kell futtatni kézzel a cronjobot, amelyet az SSP webes felületén tudunk megtenni a Configuration fül alatt, a Cron module information page menüpontban. Ekkor létrejönnek a fájlok (majd óránként frissülnek is, ha beállítjuk cronjobként).&lt;br /&gt;
&lt;br /&gt;
==== Metarefresh webszerver nélkül ====&lt;br /&gt;
Sajnos a simpleSAMLphp a nagyon nagy metadata állományok webszerveren keresztüli hívással indított feldolgozásában nem jeleskedik, márpedig az eduGAIN nemzetközi konföderáció metaadata óriási, így érdemes a config-metarefresht parancssoros php-ként meghívni, így a webszerveren keresztül történő futtatás várható időtullépését kiegyszerűsíthetjük a képletből. Ehhez vegyünk fel két külön cronjobot. Az egyik letölti a metadata állományt. A másik pedig helyben elvégzi a feldolgozást.&lt;br /&gt;
&lt;br /&gt;
 5 * * * * www-data wget -nv -q http://metadata.eduid.hu/current/edugain.xml -O /tmp/hrefsigned_edugain.xml &lt;br /&gt;
 10 * * * * www-data /var/simplesamlphp/modules/metarefresh/bin/metarefresh.php -o=metadata/metarefresh-edugain /tmp/hrefsigned_edugain.xml&lt;br /&gt;
&lt;br /&gt;
A második parancs feltételezi hogy a simplesamlphp/metadata/metarefresh-edugain könyvtár létezik és a www-data által írható.&lt;br /&gt;
&lt;br /&gt;
===IdP===&lt;br /&gt;
Amennyiben van SSP alapú IdP-nk, melyet szeretnénk a föderáció részévé tenni, úgy a teendők a következők.&lt;br /&gt;
* (A jelenleg is formálódó adminisztratív teendőktől itt most eltekintünk)&lt;br /&gt;
* Kell küldeni egy levelet a [mailto:aai@niif.hu aai@niif.hu] címre, benne néhány mondat mellett az IdP metaadatának URL-jével (https://example.org/simplesamlphp/saml2/idp/metadata.php)&lt;br /&gt;
* Ha minden rendben megy, akkor az IdP bekerül a [[Resource_Registry]]-be, ezáltal a föderációs metaadatba is.&lt;br /&gt;
* Az előző pontban leírt módon be kell állítani a központi metadata feldolgozását.&lt;br /&gt;
* Amennyiben a föderációs metaadatban már szerepel a mi IdP-nk is, úgy a föderáció valamelyik, tesztelési célokat szolgáló SP-jénél ki is próbálhatjuk a bejelentkezést. &lt;br /&gt;
&lt;br /&gt;
:'''Fontos''', hogy a föderációs Discovery Service óránként generálja újra az IdP-k listáját, így ennyi idő mindenképp szükséges, hogy az új IdP megjelenjen itt, az egyes SP-k pedig két óránként töltik újra a metaadatot, így előfordulhat, hogy azonnal nem fog minden működni, de egy-két óra alatt várhatóan beindul. :)&lt;br /&gt;
&lt;br /&gt;
:Tesztelésre használható oldal: [https://wiki.aai.niif.hu/shibtest.php https://wiki.aai.niif.hu/shibtest.php]&lt;br /&gt;
&lt;br /&gt;
* Ahhoz, hogy a Resource Registry-be is be tudjunk lépni és az IdP további, a föderációra vonatkozó beállításait meg tudjuk ejteni, ehhez az IdP-nek ki kell adnia az alábbi attribútumokat:&lt;br /&gt;
** [[HREFAttributeSpec#mail|mail]] - ez belépés után, manuálisan is beállítható&lt;br /&gt;
** [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]&lt;br /&gt;
** [[HREFAttributeSpec#schacHomeOrganizationType|schacHomeOrganizationType]]&lt;br /&gt;
** [[HREFAttributeSpec#eduScopedAffiliation|eduPersonScopedAffiliation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Attribútumok kezelése====&lt;br /&gt;
Beállított IdP-nk alapértelmezés szerint azokat az attribútumokat adja ki, melyeket a metaadat alapján az SP kért (Lásd a metadatában a RequestedAttribute elemeket), és egyúttal alapból meg tudta szerezni a felhasználói adatbázisból, esetünkben az LDAP-ból. Mivel néhány attribútum nem szerepel az LDAP-ban, hanem az IdP-ben kell előállítani, így pár helyen módosítanunk kell az alapértelmezett konfiguráción.&lt;br /&gt;
&lt;br /&gt;
:1. Az &amp;lt;code&amp;gt;attributemap/name2oid.php&amp;lt;/code&amp;gt; fájlba az 's'-betűhöz szúrjuk be az alábbi sort:&lt;br /&gt;
 'schacHomeOrganizationType' =&amp;gt; 'urn:oid:1.3.6.1.4.1.25178.1.2.10',&lt;br /&gt;
:2. A &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlba szerkesszük be az alábbi kódrészlet értelemszerűen módosított változatát. Az &amp;lt;code&amp;gt;'auth' =&amp;gt; 'example-ldap',&amp;lt;/code&amp;gt; sor alatt kezdjük. Fontos, hogy egyúttal a config.php &amp;lt;code&amp;gt;authproc.idp&amp;lt;/code&amp;gt; részét kikommentezzük, nehogy az ottani sorszámokkal megadott default feladatok bekavarjanak.&lt;br /&gt;
&lt;br /&gt;
 'AttributeNameFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',&lt;br /&gt;
 'userid.attribute' =&amp;gt; 'uid', // Itt adjuk meg, hogy mely, az LDAPból származó attribútum alapján fogja az IdP kiszámítani az eduPersonTargetedID-t&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
                10 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'uid' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
                //Itt az 'uid' az az attribútum az LDAP-ban, amely a felhasználó azonosítóját tartalmazza, mert ebből képezzük az eduPersonPrincipalName-t.&lt;br /&gt;
                ),&lt;br /&gt;
                20 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                //Kötelező statikus attribútum az [[HREFAttributeSpec#schacHomeOrganizationType|intézmény jellegének]] megfelelően&lt;br /&gt;
                ),&lt;br /&gt;
                30 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonPrincipalName már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                40 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonAffiliation már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                50 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
                // Az LDAP-ból eduPersonAffiliation-ként érkező attribútumból föderációs elvárásoknak megfelelően eduPersonScopedAffiliationt készítünk&lt;br /&gt;
                ),&lt;br /&gt;
                60 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'eduPersonScopedAffiliation' =&amp;gt; array('member@intezmenydomain.hu')&lt;br /&gt;
                // Az eduPersonScopedAffiliation-ben tesztelés céljából kiadhatjuk member értéket, így ha LDAP-ból nem jön érték, akkor is láthatjuk, hogy működik az attribútum kiadás &lt;br /&gt;
                ),&lt;br /&gt;
                61 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
                        'nameId' =&amp;gt; TRUE,&lt;br /&gt;
                ),&lt;br /&gt;
               // Itt állítjuk be, hogy az IdP előállítson és kiadhasson állandóazonosítóként eduPersonTargetedID-t, ha kérik&lt;br /&gt;
                70 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'name2oid'&lt;br /&gt;
                // Az LDAP-os attribútum nevekből itt kreálunk szabványos urn:oid formátumúakat&lt;br /&gt;
                ),&lt;br /&gt;
                80 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
              ), // .authproc&lt;br /&gt;
       'simplesaml.nameidattribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
       'attributeencodings' =&amp;gt; array(&lt;br /&gt;
               'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw',&lt;br /&gt;
        ),&lt;br /&gt;
        'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
: További tudnivalók a [[Resource_Registry|Resource Registry-ről]], ill. a [[HREFAttributeSpec|Föderációs attribútum specifikációról]].&lt;br /&gt;
&lt;br /&gt;
* Ha minden rendben ment, akkor a Resource Registry-ben regisztrált IdP-hez tartozó adminisztrációs jogok átkerülnek az IdP technikai gazdájához, s ezzel a folyamat kész is.&lt;br /&gt;
&lt;br /&gt;
===SP===&lt;br /&gt;
Amennyiben IdP-t is beállítottunk, és be is tudunk lépni a Resource Registry-be, úgy nincs más dolgunk, mint az RR-ben új SP-t hozzáadni a föderációhoz, amely a megfelelő átfutási idő után a föderáció minden tagjánál látható is lesz.&lt;br /&gt;
&lt;br /&gt;
Ellenkező esetben (nincs IdP, és nem is tervezünk beállítani), akkor az IdP hozzáadásánál részletezett pontokon kell végig menni a metaadat betöltéséig, s a továbbiakat az említett e-mail címen megbeszélni.&lt;br /&gt;
&lt;br /&gt;
====Attribútum scopeok használata====&lt;br /&gt;
A HREF föderáció IdP-i ún. scopeolt attribútumokat is használnak. Ez a scopeolás azt jelenti, hogy minden egyes IdP csak a saját scopejában ad ki attribútumokat, és a Shibboleth SP-k ezt ellenőrzik is. A scope és az attribútum valódi értéke egy '@' karakterrel kerül elválasztásra (ilyen attribútumok jelenleg: [[HREFAttributeSpec#eduPersonAffiliation|eduPersonScopedAffiliation]] illetve [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]).&lt;br /&gt;
&lt;br /&gt;
A SimpleSAMLphp alapértelmezett telepítése nem szűri a hibásan scopeolt értékeket. Kiegészítő modulként szűrésre használható az NIIF által fejlesztett [https://repo.niif.hu/gitweb/gitweb.cgi?p=simplesamlphp-attributescope.git;a=summary attributescope modul], ami reményeink szerint rövid távon a hivatalos SimpleSAMLphp kiadás része lehet.&lt;br /&gt;
&lt;br /&gt;
: Az &amp;lt;code&amp;gt;attributescope&amp;lt;/code&amp;gt; modul használata esetén a következőképp kell módosítani a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlt:&lt;br /&gt;
&lt;br /&gt;
 'template' =&amp;gt; array(&lt;br /&gt;
   'authproc' =&amp;gt; array(&lt;br /&gt;
     51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
     55 =&amp;gt; array('class' =&amp;gt; 'attributescope:FilterAttributes'),&lt;br /&gt;
   ),&lt;br /&gt;
   'scopedattributes' =&amp;gt; array('eduPersonScopedAffiliation', 'eduPersonPrincipalName'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: simpleSAMLphp]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2958</id>
		<title>SimpleSAMLphp</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2958"/>
				<updated>2014-11-20T10:34:18Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Attribútumok kezelése */ ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő SimpleSAMLphp(SSP) alkalmazást állítsunk üzembe.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Ahhoz, hogy problémamentesen telepíthessük SSP alkalmazásunkat, az alábbi szoftverkomponenseknek kell működniük szerverünkön.&lt;br /&gt;
* PHP futtatására alkalmas webszerver&lt;br /&gt;
* PHP környezet (legalább 5.2.0 verzió)&lt;br /&gt;
* A következő PHP kiterjesztéseket engedélyezni kell&lt;br /&gt;
** &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dom&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcre&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SPL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
** LDAP-ból történő autentikáció esetén: &amp;lt;code&amp;gt;ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
** Adatbázisból történő autentikáció esetén a megfelelő adatbázis-csatolót &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pgsql&amp;lt;/code&amp;gt;&lt;br /&gt;
** RADIUS szerveren keresztül történő autentikáció esetén: &amp;lt;code&amp;gt;radius&amp;lt;/code&amp;gt;&lt;br /&gt;
** Assertion-ök titkosítása esetén: &amp;lt;code&amp;gt;mcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
** Memcache használata esetén: &amp;lt;code&amp;gt;memcache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Letöltés===&lt;br /&gt;
A legfrissebb változat letölthető [http://code.google.com/p/simplesamlphp/ http://code.google.com/p/simplesamlphp/] címről&lt;br /&gt;
&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xzf simplesamlphp-1.x.y.tar.gz&lt;br /&gt;
 mv simplesamlphp-1.x.y simplesamlphp&lt;br /&gt;
&lt;br /&gt;
Alapértelmezés szerint a &amp;lt;code&amp;gt;/var/simplesamlphp&amp;lt;/code&amp;gt; alatt szeretne majd működni, ez természetesen változtatható, de most maradunk az eredeti beállításoknál.&lt;br /&gt;
&lt;br /&gt;
===Apache konfigurálás===&lt;br /&gt;
&lt;br /&gt;
A webről csak a &amp;lt;code&amp;gt;/var/simplesamlphp/www&amp;lt;/code&amp;gt; könyvtárat kell elérni.&lt;br /&gt;
&lt;br /&gt;
 Alias /simplesaml /var/simplesamlphp/www&lt;br /&gt;
&lt;br /&gt;
===Alapbeállítások===&lt;br /&gt;
Mielőtt aktiváljuk valamelyik főszolgáltatását (IdP,SP...) a telepített alkalmazásnak, néhány beállítást meg kell adnunk a konfigurációs fájlban &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* '''Az &amp;quot;admin&amp;quot; felhasználó jelszavát, mellyel webes felületen keresztül be tud lépni a települő SSP-be.'''&lt;br /&gt;
 'auth.adminpassword'        =&amp;gt; 'ujjelszotirdide',&lt;br /&gt;
* '''Titkosítási feladatokhoz szükséges &amp;quot;salt&amp;quot;, azaz véletlenszerűen összeálló karaktersorozat'''&lt;br /&gt;
 'secretsalt' =&amp;gt; 'randombytesinsertedhere',&lt;br /&gt;
A karaktersorozat előállításában segíthet az alábbi parancs: &lt;br /&gt;
 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' &amp;lt;/dev/urandom | dd bs=32 count=1 2&amp;gt;/dev/null;echo&lt;br /&gt;
* '''Elérhetőségeket, amely adatok bekerülnek majd a generált metaadatba'''&lt;br /&gt;
 'technicalcontact_name'     =&amp;gt; 'Gipsz Jakab',&lt;br /&gt;
 'technicalcontact_email'    =&amp;gt; 'jakab.gipsz@example.org',&lt;br /&gt;
* '''Nyelv és időzóna adatok'''&lt;br /&gt;
 'language.default'      =&amp;gt; 'hu',&lt;br /&gt;
 'timezone' =&amp;gt; 'Europe/Budapest',&lt;br /&gt;
&lt;br /&gt;
===Telepítés kész===&lt;br /&gt;
Amennyiben elkészültünk a fenti lépésekkel, úgy a [https://service.example.org/simplesaml/ https://service.example.org/simplesaml/] címen elérjük a telepített SSP-nk webes adminfelületét, ahol megejthetjük a további beállítások nagy részét.&lt;br /&gt;
&lt;br /&gt;
==IdP beállítás==&lt;br /&gt;
===IdP funkció engedélyezése===&lt;br /&gt;
A &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk, s engedélyezni a saml20 idp lehetőséget.&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
===Autentikáció LDAP alapon===&lt;br /&gt;
Meg kell adni, hogy az IdP milyen módon azonosítsa a felhasználót, amennyiben alapértelmezés szerint nem engedélyezett modult szeretnénk használni, úgy a megfelelő modult a &amp;lt;code&amp;gt;modules&amp;lt;/code&amp;gt; könyvtár alatt engedélyezni kell. Az alábbi példában az LDAP alapú azonosítást mutatjuk be, amely külön modult nem igényel, alapértelmezés szerint része a telepített alkalmazásnak.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy megadhassuk az LDAP-hoz tartozó beállításokat, a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk. Az alábbi kódrészletet elegendő beszúrni, és az egyes változóknak a helyi LDAP-nak megfelelő adatokat értékül adni.&lt;br /&gt;
 'example-ldap' =&amp;gt; array(&lt;br /&gt;
    'ldap:LDAP',&lt;br /&gt;
 &lt;br /&gt;
    /* The hostname of the LDAP server. */&lt;br /&gt;
    'hostname' =&amp;gt; 'ldap.example.org',&lt;br /&gt;
 &lt;br /&gt;
    /* Whether SSL/TLS should be used when contacting the LDAP server. */&lt;br /&gt;
    'enable_tls' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * Which attributes should be retrieved from the LDAP server.&lt;br /&gt;
     * This can be an array of attribute names, or NULL, in which case&lt;br /&gt;
     * all attributes are fetched.&lt;br /&gt;
     */&lt;br /&gt;
    'attributes' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The pattern which should be used to create the users DN given the username.&lt;br /&gt;
     * %username% in this pattern will be replaced with the users username.&lt;br /&gt;
     *&lt;br /&gt;
     * This option is not used if the search.enable option is set to TRUE.&lt;br /&gt;
     */&lt;br /&gt;
    'dnpattern' =&amp;gt; 'uid=%username%,ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * As an alternative to specifying a pattern for the users DN, it is possible to&lt;br /&gt;
     * search for the username in a set of attributes. This is enabled by this option.&lt;br /&gt;
     */&lt;br /&gt;
    'search.enable' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The DN which will be used as a base for the search.&lt;br /&gt;
     * This can be a single string, in which case only that DN is searched, or an&lt;br /&gt;
     * array of strings, in which case they will be searched in the order given.&lt;br /&gt;
     */&lt;br /&gt;
    'search.base' =&amp;gt; 'ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The attribute(s) the username should match against.&lt;br /&gt;
     *&lt;br /&gt;
     * This is an array with one or more attribute names. Any of the attributes in&lt;br /&gt;
     * the array may match the value the username.&lt;br /&gt;
     */&lt;br /&gt;
    'search.attributes' =&amp;gt; array('uid', 'mail'),&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The username &amp;amp; password the simpleSAMLphp should bind to before searching. If&lt;br /&gt;
     * this is left as NULL, no bind will be performed before searching.&lt;br /&gt;
     */&lt;br /&gt;
    'search.username' =&amp;gt; NULL,&lt;br /&gt;
    'search.password' =&amp;gt; NULL,&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
===Metaadat alapok===&lt;br /&gt;
A beállítandó IdP alapvető paraméterei a &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlban állíthatók. Az alábbi kódrészlet egy minimális, de már működő példát mutat.&lt;br /&gt;
&lt;br /&gt;
 $metadata['__DYNAMIC:1__'] = array(&lt;br /&gt;
    /*&lt;br /&gt;
     * The hostname for this IdP. This makes it possible to run multiple&lt;br /&gt;
     * IdPs from the same configuration. '__DEFAULT__' means that this one&lt;br /&gt;
     * should be used by default.&lt;br /&gt;
     */&lt;br /&gt;
    'host' =&amp;gt; '__DEFAULT__',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The private key and certificate to use when signing responses.&lt;br /&gt;
     * These are stored in the cert-directory.&lt;br /&gt;
     */&lt;br /&gt;
    'privatekey' =&amp;gt; 'idp.example.org.key',&lt;br /&gt;
    'certificate' =&amp;gt; 'idp.example.org.crt',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The authentication source which should be used to authenticate the&lt;br /&gt;
     * user. This must match one of the entries in config/authsources.php.&lt;br /&gt;
     */&lt;br /&gt;
    'auth' =&amp;gt; 'example-ldap',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Teszteléshez is érdemes, éles használathoz pedig elengedhetetlen, hogy a csomagban érkezett tanúsítványt felülírjuk, ezt célszerű mihamarabb megtenni. Ehhez az alábbi parancs lehet segítségünkre.&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out idp.example.org.crt -keyout idp.example.org.key&lt;br /&gt;
A fingerprint az alábbi módon kérdezhető le a legegyszerűbben&lt;br /&gt;
 openssl x509 -fingerprint -noout -in idp.example.org.crt&lt;br /&gt;
&lt;br /&gt;
Megfelelő beállítások után a dinamikusan generált metadata a &amp;lt;code&amp;gt;/saml2/idp/metadata.php&amp;lt;/code&amp;gt; útvonalon érhető el.&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Legegyszerűbben a telepített SSP felületén tudjuk ellenőrizni, hogy a beállított autentikációs forrás működik-e. A felületen az Authentication fül alatt található egy 'Test authentication sources' link, amelyre kattintva látható minden beállított autentikációs forrás is, így a két alapértelmezett, teszt célokat szolgáló alatt a most beállított example-ldap névre hallgatónak is meg kell jelenni. (A közvetlen url erre az oldalra: simplesaml/module.php/core/authenticate.php) Ez utóbbira kattintva a beállított LDAP-ból autentikálva be kell tudnunk jelentkeznünk; siker esetén az LDAP-ból kinyerhető attribútumokat láthatjuk.&lt;br /&gt;
&lt;br /&gt;
==SP beállítás==&lt;br /&gt;
===Alapadatok===&lt;br /&gt;
A telepített alkalmazásunk által kezelt SP-ket a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlban tudjuk beállítani.&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of the IdP this should SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        'privatekey' =&amp;gt; 'saml.pem',&lt;br /&gt;
        'certificate' =&amp;gt; 'saml.crt',&lt;br /&gt;
 &lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A fenti beállítások alapján az SP entityID-ja megegyezik a metadata elérési útvonalával (szokásos megoldás SSP-nél), nem adunk meg alapértelmezett idp-t, ezáltal az SSP választási lehetőséget kínál fel számunkra, mikor az SP-re szeretnénk bejelentkezni, ill. most még Discovery Service URL-t sem adunk meg, hanem a beépítettet használjuk. Ez utóbbit majd a HREF-be történő integrációkor meg kell változtatni - lásd lejjebb.&lt;br /&gt;
&lt;br /&gt;
Az IdP beállításához hasonlóan itt is szükség lesz egy tanúsítvány generálására a &amp;lt;code&amp;gt;cert&amp;lt;/code&amp;gt; könyvtárba. Ehhez segítség lehet az alábbi parancs.&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.pem&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Amennyiben IdP is beállításra került, úgy a legcélszerűbb ezt összehangolni az SP-vel. Ehhez egyfelől a &amp;lt;code&amp;gt;metadata/saml20-idp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adni az IdP adatait, amely esetünkben az alábbiak szerint fest.&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/saml2/idp/metadata.php'] = array(&lt;br /&gt;
        'name' =&amp;gt; array(&lt;br /&gt;
                'en' =&amp;gt; 'TestSP'&lt;br /&gt;
        ),&lt;br /&gt;
        'SingleSignOnService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SSOService.php',&lt;br /&gt;
        'SingleLogoutService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SingleLogoutService.php',&lt;br /&gt;
        'certFingerprint'      =&amp;gt; 'afe71c28ef740bc87425be13a2263d37971da1f9'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ehhez hasonlóan a &amp;lt;code&amp;gt;metadata/saml20-sp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adnunk az SP adatait. Teszteléshez az alábbiak elegendők:&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array (&lt;br /&gt;
  'AssertionConsumerService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',&lt;br /&gt;
  'SingleLogoutService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ezek után az IdP tesztelésénél már említett oldalon a default-sp opciót kiválasztva, majd a legördülő menüben a TestSP-re kattintva be kell tudnunk jelentkezni az IdP-n keresztül. Ha működik, akkor az alapvető lépsekkel kész vagyunk, van egy működő SP-nk és egy működő IdP-nk.&lt;br /&gt;
&lt;br /&gt;
==HREF-integráció==&lt;br /&gt;
&lt;br /&gt;
===Metadata beállítása (IdP és SP is)===&lt;br /&gt;
* Az SSP-nél be kell állítani metaadat forrásként a központi metaadatot&lt;br /&gt;
:*Első lépésként engedélyezzük, hogy az SSP automatikusan frissíthesse a metaadatot, ill. az ezt elvégző két modult&lt;br /&gt;
 touch modules/metarefresh/enable&lt;br /&gt;
 cp modules/metarefresh/config-templates/*.php config/&lt;br /&gt;
 touch modules/cron/enable&lt;br /&gt;
 cp modules/cron/config-templates/*.php config/&lt;br /&gt;
&lt;br /&gt;
:*Létrehozunk egy könyvtárat, ahová letöltésre kerül az központi metaadat XML fájlja&lt;br /&gt;
 mkdir metadata/metarefresh-href&lt;br /&gt;
 chmod g+rw metadata/metarefresh-href&lt;br /&gt;
:*Ezek után be kell állítani a metaadat kokrét adatait a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlban&lt;br /&gt;
 $config = array(&lt;br /&gt;
    'sets' =&amp;gt; array(&lt;br /&gt;
        'hu' =&amp;gt; array(&lt;br /&gt;
            'cron'      =&amp;gt; array('hourly'),&lt;br /&gt;
            'sources'   =&amp;gt; array(&lt;br /&gt;
                array(&lt;br /&gt;
                    'src' =&amp;gt; 'http://metadata.eduid.hu/2011/href.xml',&lt;br /&gt;
                    'validateFingerprint' =&amp;gt; 'FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66',&lt;br /&gt;
                    'template' =&amp;gt; array(&lt;br /&gt;
                        'authproc' =&amp;gt; array(&lt;br /&gt;
                            51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
            'expireAfter'       =&amp;gt; 60*60*24*4, // Maximum 4 days cache time.&lt;br /&gt;
            'outputDir'     =&amp;gt; 'metadata/metarefresh-href/',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
 );&lt;br /&gt;
:*Be kell állítani, hogy az SSP az automata által generált fájlokból dolgozzon. Ehhez a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlban keressük ki a &amp;lt;code&amp;gt;metadata.source&amp;lt;/code&amp;gt; szakaszt, és az alábbiak szerint szerkesszük át. Amennyiben nem csak a központi metaadatból szeretnénk dolgozni, úgy további sorokat is megadhatunk itt bemutatott mintájára.&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile'), // IdP esetén kell, itt van az önmagát leíró metadata&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile', 'directory' =&amp;gt; 'metadata/metarefresh-href'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
:*Végül le kell futtatni kézzel a cronjobot, amelyet az SSP webes felületén tudunk megtenni a Configuration fül alatt, a Cron module information page menüpontban. Ekkor létrejönnek a fájlok (majd óránként frissülnek is, ha beállítjuk cronjobként).&lt;br /&gt;
&lt;br /&gt;
==== Metarefresh webszerver nélkül ====&lt;br /&gt;
Sajnos a simpleSAMLphp a nagyon nagy metadata állományok webszerveren keresztüli hívással indított feldolgozásában nem jeleskedik, márpedig az eduGAIN nemzetközi konföderáció metaadata óriási, így érdemes a config-metarefresht parancssoros php-ként meghívni, így a webszerveren keresztül történő futtatás várható időtullépését kiegyszerűsíthetjük a képletből. Ehhez vegyünk fel két külön cronjobot. Az egyik letölti a metadata állományt. A másik pedig helyben elvégzi a feldolgozást.&lt;br /&gt;
&lt;br /&gt;
 5 * * * * www-data wget -nv -q http://metadata.eduid.hu/current/edugain.xml -O /tmp/hrefsigned_edugain.xml &lt;br /&gt;
 10 * * * * www-data /var/simplesamlphp/modules/metarefresh/bin/metarefresh.php -o=metadata/metarefresh-edugain /tmp/hrefsigned_edugain.xml&lt;br /&gt;
&lt;br /&gt;
A második parancs feltételezi hogy a simplesamlphp/metadata/metarefresh-edugain könyvtár létezik és a www-data által írható.&lt;br /&gt;
&lt;br /&gt;
===IdP===&lt;br /&gt;
Amennyiben van SSP alapú IdP-nk, melyet szeretnénk a föderáció részévé tenni, úgy a teendők a következők.&lt;br /&gt;
* (A jelenleg is formálódó adminisztratív teendőktől itt most eltekintünk)&lt;br /&gt;
* Kell küldeni egy levelet a [mailto:aai@niif.hu aai@niif.hu] címre, benne néhány mondat mellett az IdP metaadatának URL-jével (https://example.org/simplesamlphp/saml2/idp/metadata.php)&lt;br /&gt;
* Ha minden rendben megy, akkor az IdP bekerül a [[Resource_Registry]]-be, ezáltal a föderációs metaadatba is.&lt;br /&gt;
* Az előző pontban leírt módon be kell állítani a központi metadata feldolgozását.&lt;br /&gt;
* Amennyiben a föderációs metaadatban már szerepel a mi IdP-nk is, úgy a föderáció valamelyik, tesztelési célokat szolgáló SP-jénél ki is próbálhatjuk a bejelentkezést. &lt;br /&gt;
&lt;br /&gt;
:'''Fontos''', hogy a föderációs Discovery Service óránként generálja újra az IdP-k listáját, így ennyi idő mindenképp szükséges, hogy az új IdP megjelenjen itt, az egyes SP-k pedig két óránként töltik újra a metaadatot, így előfordulhat, hogy azonnal nem fog minden működni, de egy-két óra alatt várhatóan beindul. :)&lt;br /&gt;
&lt;br /&gt;
:Tesztelésre használható oldal: [https://wiki.aai.niif.hu/shibtest.php https://wiki.aai.niif.hu/shibtest.php]&lt;br /&gt;
&lt;br /&gt;
* Ahhoz, hogy a Resource Registry-be is be tudjunk lépni és az IdP további, a föderációra vonatkozó beállításait meg tudjuk ejteni, ehhez az IdP-nek ki kell adnia az alábbi attribútumokat:&lt;br /&gt;
** [[HREFAttributeSpec#mail|mail]] - ez belépés után, manuálisan is beállítható&lt;br /&gt;
** [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]&lt;br /&gt;
** [[HREFAttributeSpec#schacHomeOrganizationType|schacHomeOrganizationType]]&lt;br /&gt;
** [[HREFAttributeSpec#eduScopedAffiliation|eduPersonScopedAffiliation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Attribútumok kezelése====&lt;br /&gt;
Beállított IdP-nk alapértelmezés szerint azokat az attribútumokat adja ki, melyeket a metaadat alapján az SP kért (Lásd a metadatában a RequestedAttribute elemeket), és egyúttal alapból meg tudta szerezni a felhasználói adatbázisból, esetünkben az LDAP-ból. Mivel néhány attribútum nem szerepel az LDAP-ban, hanem az IdP-ben kell előállítani, így pár helyen módosítanunk kell az alapértelmezett konfiguráción.&lt;br /&gt;
&lt;br /&gt;
:1. Az &amp;lt;code&amp;gt;attributemap/name2oid.php&amp;lt;/code&amp;gt; fájlba az 's'-betűhöz szúrjuk be az alábbi sort:&lt;br /&gt;
 'schacHomeOrganizationType' =&amp;gt; 'urn:oid:1.3.6.1.4.1.25178.1.2.10',&lt;br /&gt;
:2. A &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlba szerkesszük be az alábbi kódrészlet értelemszerűen módosított változatát. Az &amp;lt;code&amp;gt;'auth' =&amp;gt; 'example-ldap',&amp;lt;/code&amp;gt; sor alatt kezdjük. Fontos, hogy egyúttal a config.php &amp;lt;code&amp;gt;authproc.idp&amp;lt;/code&amp;gt; részét kikommentezzük, nehogy az ottani sorszámokkal megadott default feladatok bekavarjanak.&lt;br /&gt;
&lt;br /&gt;
 'AttributeNameFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',&lt;br /&gt;
 'userid.attribute' =&amp;gt; 'uid', // Itt adjuk meg, hogy mely, az LDAPból származó attribútum alapján fogja az IdP kiszámítani az eduPersonTargetedID-t&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
                10 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'uid' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
                //Itt az 'uid' az az attribútum az LDAP-ban, amely a felhasználó azonosítóját tartalmazza, mert ebből képezzük az eduPersonPrincipalName-t.&lt;br /&gt;
                ),&lt;br /&gt;
                20 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                //Kötelező statikus attribútum az [[HREFAttributeSpec#schacHomeOrganizationType|intézmény jellegének]] megfelelően&lt;br /&gt;
                ),&lt;br /&gt;
                30 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonPrincipalName már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                40 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonAffiliation már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                50 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
                // Az LDAP-ból eduPersonAffiliation-ként érkező attribútumból föderációs elvárásoknak megfelelően eduPersonScopedAffiliationt készítünk&lt;br /&gt;
                ),&lt;br /&gt;
                60 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'eduPersonScopedAffiliation' =&amp;gt; array('member@intezmenydomain.hu')&lt;br /&gt;
                // Az eduPersonScopedAffiliation-ben tesztelés céljából kiadhatjuk member értéket, így ha LDAP-ból nem jön érték, akkor is láthatjuk, hogy működik az attribútum kiadás &lt;br /&gt;
                ),&lt;br /&gt;
                61 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
                        'nameId' =&amp;gt; TRUE,&lt;br /&gt;
                ),&lt;br /&gt;
                62 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                // intézmény típus, https://wiki.niif.hu/index.php?title=HREF_attrib%C3%BAtum_specifik%C3%A1ci%C3%B3#schacHomeOrganizationType&lt;br /&gt;
                ),&lt;br /&gt;
               // Itt állítjuk be, hogy az IdP előállítson és kiadhasson állandóazonosítóként eduPersonTargetedID-t, ha kérik&lt;br /&gt;
                70 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'name2oid'&lt;br /&gt;
                // Az LDAP-os attribútum nevekből itt kreálunk szabványos urn:oid formátumúakat&lt;br /&gt;
                ),&lt;br /&gt;
                80 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
              ), // .authproc&lt;br /&gt;
       'simplesaml.nameidattribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
       'attributeencodings' =&amp;gt; array(&lt;br /&gt;
               'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw',&lt;br /&gt;
        ),&lt;br /&gt;
        'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
: További tudnivalók a [[Resource_Registry|Resource Registry-ről]], ill. a [[HREFAttributeSpec|Föderációs attribútum specifikációról]].&lt;br /&gt;
&lt;br /&gt;
* Ha minden rendben ment, akkor a Resource Registry-ben regisztrált IdP-hez tartozó adminisztrációs jogok átkerülnek az IdP technikai gazdájához, s ezzel a folyamat kész is.&lt;br /&gt;
&lt;br /&gt;
===SP===&lt;br /&gt;
Amennyiben IdP-t is beállítottunk, és be is tudunk lépni a Resource Registry-be, úgy nincs más dolgunk, mint az RR-ben új SP-t hozzáadni a föderációhoz, amely a megfelelő átfutási idő után a föderáció minden tagjánál látható is lesz.&lt;br /&gt;
&lt;br /&gt;
Ellenkező esetben (nincs IdP, és nem is tervezünk beállítani), akkor az IdP hozzáadásánál részletezett pontokon kell végig menni a metaadat betöltéséig, s a továbbiakat az említett e-mail címen megbeszélni.&lt;br /&gt;
&lt;br /&gt;
====Attribútum scopeok használata====&lt;br /&gt;
A HREF föderáció IdP-i ún. scopeolt attribútumokat is használnak. Ez a scopeolás azt jelenti, hogy minden egyes IdP csak a saját scopejában ad ki attribútumokat, és a Shibboleth SP-k ezt ellenőrzik is. A scope és az attribútum valódi értéke egy '@' karakterrel kerül elválasztásra (ilyen attribútumok jelenleg: [[HREFAttributeSpec#eduPersonAffiliation|eduPersonScopedAffiliation]] illetve [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]).&lt;br /&gt;
&lt;br /&gt;
A SimpleSAMLphp alapértelmezett telepítése nem szűri a hibásan scopeolt értékeket. Kiegészítő modulként szűrésre használható az NIIF által fejlesztett [https://repo.niif.hu/gitweb/gitweb.cgi?p=simplesamlphp-attributescope.git;a=summary attributescope modul], ami reményeink szerint rövid távon a hivatalos SimpleSAMLphp kiadás része lehet.&lt;br /&gt;
&lt;br /&gt;
: Az &amp;lt;code&amp;gt;attributescope&amp;lt;/code&amp;gt; modul használata esetén a következőképp kell módosítani a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlt:&lt;br /&gt;
&lt;br /&gt;
 'template' =&amp;gt; array(&lt;br /&gt;
   'authproc' =&amp;gt; array(&lt;br /&gt;
     51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
     55 =&amp;gt; array('class' =&amp;gt; 'attributescope:FilterAttributes'),&lt;br /&gt;
   ),&lt;br /&gt;
   'scopedattributes' =&amp;gt; array('eduPersonScopedAffiliation', 'eduPersonPrincipalName'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: simpleSAMLphp]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2957</id>
		<title>SimpleSAMLphp</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2957"/>
				<updated>2014-11-20T10:33:25Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Attribútumok kezelése */ + schacHomeOrganizationType&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő SimpleSAMLphp(SSP) alkalmazást állítsunk üzembe.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Ahhoz, hogy problémamentesen telepíthessük SSP alkalmazásunkat, az alábbi szoftverkomponenseknek kell működniük szerverünkön.&lt;br /&gt;
* PHP futtatására alkalmas webszerver&lt;br /&gt;
* PHP környezet (legalább 5.2.0 verzió)&lt;br /&gt;
* A következő PHP kiterjesztéseket engedélyezni kell&lt;br /&gt;
** &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dom&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcre&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SPL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
** LDAP-ból történő autentikáció esetén: &amp;lt;code&amp;gt;ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
** Adatbázisból történő autentikáció esetén a megfelelő adatbázis-csatolót &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pgsql&amp;lt;/code&amp;gt;&lt;br /&gt;
** RADIUS szerveren keresztül történő autentikáció esetén: &amp;lt;code&amp;gt;radius&amp;lt;/code&amp;gt;&lt;br /&gt;
** Assertion-ök titkosítása esetén: &amp;lt;code&amp;gt;mcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
** Memcache használata esetén: &amp;lt;code&amp;gt;memcache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Letöltés===&lt;br /&gt;
A legfrissebb változat letölthető [http://code.google.com/p/simplesamlphp/ http://code.google.com/p/simplesamlphp/] címről&lt;br /&gt;
&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xzf simplesamlphp-1.x.y.tar.gz&lt;br /&gt;
 mv simplesamlphp-1.x.y simplesamlphp&lt;br /&gt;
&lt;br /&gt;
Alapértelmezés szerint a &amp;lt;code&amp;gt;/var/simplesamlphp&amp;lt;/code&amp;gt; alatt szeretne majd működni, ez természetesen változtatható, de most maradunk az eredeti beállításoknál.&lt;br /&gt;
&lt;br /&gt;
===Apache konfigurálás===&lt;br /&gt;
&lt;br /&gt;
A webről csak a &amp;lt;code&amp;gt;/var/simplesamlphp/www&amp;lt;/code&amp;gt; könyvtárat kell elérni.&lt;br /&gt;
&lt;br /&gt;
 Alias /simplesaml /var/simplesamlphp/www&lt;br /&gt;
&lt;br /&gt;
===Alapbeállítások===&lt;br /&gt;
Mielőtt aktiváljuk valamelyik főszolgáltatását (IdP,SP...) a telepített alkalmazásnak, néhány beállítást meg kell adnunk a konfigurációs fájlban &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* '''Az &amp;quot;admin&amp;quot; felhasználó jelszavát, mellyel webes felületen keresztül be tud lépni a települő SSP-be.'''&lt;br /&gt;
 'auth.adminpassword'        =&amp;gt; 'ujjelszotirdide',&lt;br /&gt;
* '''Titkosítási feladatokhoz szükséges &amp;quot;salt&amp;quot;, azaz véletlenszerűen összeálló karaktersorozat'''&lt;br /&gt;
 'secretsalt' =&amp;gt; 'randombytesinsertedhere',&lt;br /&gt;
A karaktersorozat előállításában segíthet az alábbi parancs: &lt;br /&gt;
 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' &amp;lt;/dev/urandom | dd bs=32 count=1 2&amp;gt;/dev/null;echo&lt;br /&gt;
* '''Elérhetőségeket, amely adatok bekerülnek majd a generált metaadatba'''&lt;br /&gt;
 'technicalcontact_name'     =&amp;gt; 'Gipsz Jakab',&lt;br /&gt;
 'technicalcontact_email'    =&amp;gt; 'jakab.gipsz@example.org',&lt;br /&gt;
* '''Nyelv és időzóna adatok'''&lt;br /&gt;
 'language.default'      =&amp;gt; 'hu',&lt;br /&gt;
 'timezone' =&amp;gt; 'Europe/Budapest',&lt;br /&gt;
&lt;br /&gt;
===Telepítés kész===&lt;br /&gt;
Amennyiben elkészültünk a fenti lépésekkel, úgy a [https://service.example.org/simplesaml/ https://service.example.org/simplesaml/] címen elérjük a telepített SSP-nk webes adminfelületét, ahol megejthetjük a további beállítások nagy részét.&lt;br /&gt;
&lt;br /&gt;
==IdP beállítás==&lt;br /&gt;
===IdP funkció engedélyezése===&lt;br /&gt;
A &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk, s engedélyezni a saml20 idp lehetőséget.&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
===Autentikáció LDAP alapon===&lt;br /&gt;
Meg kell adni, hogy az IdP milyen módon azonosítsa a felhasználót, amennyiben alapértelmezés szerint nem engedélyezett modult szeretnénk használni, úgy a megfelelő modult a &amp;lt;code&amp;gt;modules&amp;lt;/code&amp;gt; könyvtár alatt engedélyezni kell. Az alábbi példában az LDAP alapú azonosítást mutatjuk be, amely külön modult nem igényel, alapértelmezés szerint része a telepített alkalmazásnak.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy megadhassuk az LDAP-hoz tartozó beállításokat, a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk. Az alábbi kódrészletet elegendő beszúrni, és az egyes változóknak a helyi LDAP-nak megfelelő adatokat értékül adni.&lt;br /&gt;
 'example-ldap' =&amp;gt; array(&lt;br /&gt;
    'ldap:LDAP',&lt;br /&gt;
 &lt;br /&gt;
    /* The hostname of the LDAP server. */&lt;br /&gt;
    'hostname' =&amp;gt; 'ldap.example.org',&lt;br /&gt;
 &lt;br /&gt;
    /* Whether SSL/TLS should be used when contacting the LDAP server. */&lt;br /&gt;
    'enable_tls' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * Which attributes should be retrieved from the LDAP server.&lt;br /&gt;
     * This can be an array of attribute names, or NULL, in which case&lt;br /&gt;
     * all attributes are fetched.&lt;br /&gt;
     */&lt;br /&gt;
    'attributes' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The pattern which should be used to create the users DN given the username.&lt;br /&gt;
     * %username% in this pattern will be replaced with the users username.&lt;br /&gt;
     *&lt;br /&gt;
     * This option is not used if the search.enable option is set to TRUE.&lt;br /&gt;
     */&lt;br /&gt;
    'dnpattern' =&amp;gt; 'uid=%username%,ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * As an alternative to specifying a pattern for the users DN, it is possible to&lt;br /&gt;
     * search for the username in a set of attributes. This is enabled by this option.&lt;br /&gt;
     */&lt;br /&gt;
    'search.enable' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The DN which will be used as a base for the search.&lt;br /&gt;
     * This can be a single string, in which case only that DN is searched, or an&lt;br /&gt;
     * array of strings, in which case they will be searched in the order given.&lt;br /&gt;
     */&lt;br /&gt;
    'search.base' =&amp;gt; 'ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The attribute(s) the username should match against.&lt;br /&gt;
     *&lt;br /&gt;
     * This is an array with one or more attribute names. Any of the attributes in&lt;br /&gt;
     * the array may match the value the username.&lt;br /&gt;
     */&lt;br /&gt;
    'search.attributes' =&amp;gt; array('uid', 'mail'),&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The username &amp;amp; password the simpleSAMLphp should bind to before searching. If&lt;br /&gt;
     * this is left as NULL, no bind will be performed before searching.&lt;br /&gt;
     */&lt;br /&gt;
    'search.username' =&amp;gt; NULL,&lt;br /&gt;
    'search.password' =&amp;gt; NULL,&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
===Metaadat alapok===&lt;br /&gt;
A beállítandó IdP alapvető paraméterei a &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlban állíthatók. Az alábbi kódrészlet egy minimális, de már működő példát mutat.&lt;br /&gt;
&lt;br /&gt;
 $metadata['__DYNAMIC:1__'] = array(&lt;br /&gt;
    /*&lt;br /&gt;
     * The hostname for this IdP. This makes it possible to run multiple&lt;br /&gt;
     * IdPs from the same configuration. '__DEFAULT__' means that this one&lt;br /&gt;
     * should be used by default.&lt;br /&gt;
     */&lt;br /&gt;
    'host' =&amp;gt; '__DEFAULT__',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The private key and certificate to use when signing responses.&lt;br /&gt;
     * These are stored in the cert-directory.&lt;br /&gt;
     */&lt;br /&gt;
    'privatekey' =&amp;gt; 'idp.example.org.key',&lt;br /&gt;
    'certificate' =&amp;gt; 'idp.example.org.crt',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The authentication source which should be used to authenticate the&lt;br /&gt;
     * user. This must match one of the entries in config/authsources.php.&lt;br /&gt;
     */&lt;br /&gt;
    'auth' =&amp;gt; 'example-ldap',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Teszteléshez is érdemes, éles használathoz pedig elengedhetetlen, hogy a csomagban érkezett tanúsítványt felülírjuk, ezt célszerű mihamarabb megtenni. Ehhez az alábbi parancs lehet segítségünkre.&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out idp.example.org.crt -keyout idp.example.org.key&lt;br /&gt;
A fingerprint az alábbi módon kérdezhető le a legegyszerűbben&lt;br /&gt;
 openssl x509 -fingerprint -noout -in idp.example.org.crt&lt;br /&gt;
&lt;br /&gt;
Megfelelő beállítások után a dinamikusan generált metadata a &amp;lt;code&amp;gt;/saml2/idp/metadata.php&amp;lt;/code&amp;gt; útvonalon érhető el.&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Legegyszerűbben a telepített SSP felületén tudjuk ellenőrizni, hogy a beállított autentikációs forrás működik-e. A felületen az Authentication fül alatt található egy 'Test authentication sources' link, amelyre kattintva látható minden beállított autentikációs forrás is, így a két alapértelmezett, teszt célokat szolgáló alatt a most beállított example-ldap névre hallgatónak is meg kell jelenni. (A közvetlen url erre az oldalra: simplesaml/module.php/core/authenticate.php) Ez utóbbira kattintva a beállított LDAP-ból autentikálva be kell tudnunk jelentkeznünk; siker esetén az LDAP-ból kinyerhető attribútumokat láthatjuk.&lt;br /&gt;
&lt;br /&gt;
==SP beállítás==&lt;br /&gt;
===Alapadatok===&lt;br /&gt;
A telepített alkalmazásunk által kezelt SP-ket a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlban tudjuk beállítani.&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of the IdP this should SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        'privatekey' =&amp;gt; 'saml.pem',&lt;br /&gt;
        'certificate' =&amp;gt; 'saml.crt',&lt;br /&gt;
 &lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A fenti beállítások alapján az SP entityID-ja megegyezik a metadata elérési útvonalával (szokásos megoldás SSP-nél), nem adunk meg alapértelmezett idp-t, ezáltal az SSP választási lehetőséget kínál fel számunkra, mikor az SP-re szeretnénk bejelentkezni, ill. most még Discovery Service URL-t sem adunk meg, hanem a beépítettet használjuk. Ez utóbbit majd a HREF-be történő integrációkor meg kell változtatni - lásd lejjebb.&lt;br /&gt;
&lt;br /&gt;
Az IdP beállításához hasonlóan itt is szükség lesz egy tanúsítvány generálására a &amp;lt;code&amp;gt;cert&amp;lt;/code&amp;gt; könyvtárba. Ehhez segítség lehet az alábbi parancs.&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.pem&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Amennyiben IdP is beállításra került, úgy a legcélszerűbb ezt összehangolni az SP-vel. Ehhez egyfelől a &amp;lt;code&amp;gt;metadata/saml20-idp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adni az IdP adatait, amely esetünkben az alábbiak szerint fest.&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/saml2/idp/metadata.php'] = array(&lt;br /&gt;
        'name' =&amp;gt; array(&lt;br /&gt;
                'en' =&amp;gt; 'TestSP'&lt;br /&gt;
        ),&lt;br /&gt;
        'SingleSignOnService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SSOService.php',&lt;br /&gt;
        'SingleLogoutService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SingleLogoutService.php',&lt;br /&gt;
        'certFingerprint'      =&amp;gt; 'afe71c28ef740bc87425be13a2263d37971da1f9'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ehhez hasonlóan a &amp;lt;code&amp;gt;metadata/saml20-sp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adnunk az SP adatait. Teszteléshez az alábbiak elegendők:&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array (&lt;br /&gt;
  'AssertionConsumerService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',&lt;br /&gt;
  'SingleLogoutService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ezek után az IdP tesztelésénél már említett oldalon a default-sp opciót kiválasztva, majd a legördülő menüben a TestSP-re kattintva be kell tudnunk jelentkezni az IdP-n keresztül. Ha működik, akkor az alapvető lépsekkel kész vagyunk, van egy működő SP-nk és egy működő IdP-nk.&lt;br /&gt;
&lt;br /&gt;
==HREF-integráció==&lt;br /&gt;
&lt;br /&gt;
===Metadata beállítása (IdP és SP is)===&lt;br /&gt;
* Az SSP-nél be kell állítani metaadat forrásként a központi metaadatot&lt;br /&gt;
:*Első lépésként engedélyezzük, hogy az SSP automatikusan frissíthesse a metaadatot, ill. az ezt elvégző két modult&lt;br /&gt;
 touch modules/metarefresh/enable&lt;br /&gt;
 cp modules/metarefresh/config-templates/*.php config/&lt;br /&gt;
 touch modules/cron/enable&lt;br /&gt;
 cp modules/cron/config-templates/*.php config/&lt;br /&gt;
&lt;br /&gt;
:*Létrehozunk egy könyvtárat, ahová letöltésre kerül az központi metaadat XML fájlja&lt;br /&gt;
 mkdir metadata/metarefresh-href&lt;br /&gt;
 chmod g+rw metadata/metarefresh-href&lt;br /&gt;
:*Ezek után be kell állítani a metaadat kokrét adatait a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlban&lt;br /&gt;
 $config = array(&lt;br /&gt;
    'sets' =&amp;gt; array(&lt;br /&gt;
        'hu' =&amp;gt; array(&lt;br /&gt;
            'cron'      =&amp;gt; array('hourly'),&lt;br /&gt;
            'sources'   =&amp;gt; array(&lt;br /&gt;
                array(&lt;br /&gt;
                    'src' =&amp;gt; 'http://metadata.eduid.hu/2011/href.xml',&lt;br /&gt;
                    'validateFingerprint' =&amp;gt; 'FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66',&lt;br /&gt;
                    'template' =&amp;gt; array(&lt;br /&gt;
                        'authproc' =&amp;gt; array(&lt;br /&gt;
                            51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
            'expireAfter'       =&amp;gt; 60*60*24*4, // Maximum 4 days cache time.&lt;br /&gt;
            'outputDir'     =&amp;gt; 'metadata/metarefresh-href/',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
 );&lt;br /&gt;
:*Be kell állítani, hogy az SSP az automata által generált fájlokból dolgozzon. Ehhez a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlban keressük ki a &amp;lt;code&amp;gt;metadata.source&amp;lt;/code&amp;gt; szakaszt, és az alábbiak szerint szerkesszük át. Amennyiben nem csak a központi metaadatból szeretnénk dolgozni, úgy további sorokat is megadhatunk itt bemutatott mintájára.&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile'), // IdP esetén kell, itt van az önmagát leíró metadata&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile', 'directory' =&amp;gt; 'metadata/metarefresh-href'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
:*Végül le kell futtatni kézzel a cronjobot, amelyet az SSP webes felületén tudunk megtenni a Configuration fül alatt, a Cron module information page menüpontban. Ekkor létrejönnek a fájlok (majd óránként frissülnek is, ha beállítjuk cronjobként).&lt;br /&gt;
&lt;br /&gt;
==== Metarefresh webszerver nélkül ====&lt;br /&gt;
Sajnos a simpleSAMLphp a nagyon nagy metadata állományok webszerveren keresztüli hívással indított feldolgozásában nem jeleskedik, márpedig az eduGAIN nemzetközi konföderáció metaadata óriási, így érdemes a config-metarefresht parancssoros php-ként meghívni, így a webszerveren keresztül történő futtatás várható időtullépését kiegyszerűsíthetjük a képletből. Ehhez vegyünk fel két külön cronjobot. Az egyik letölti a metadata állományt. A másik pedig helyben elvégzi a feldolgozást.&lt;br /&gt;
&lt;br /&gt;
 5 * * * * www-data wget -nv -q http://metadata.eduid.hu/current/edugain.xml -O /tmp/hrefsigned_edugain.xml &lt;br /&gt;
 10 * * * * www-data /var/simplesamlphp/modules/metarefresh/bin/metarefresh.php -o=metadata/metarefresh-edugain /tmp/hrefsigned_edugain.xml&lt;br /&gt;
&lt;br /&gt;
A második parancs feltételezi hogy a simplesamlphp/metadata/metarefresh-edugain könyvtár létezik és a www-data által írható.&lt;br /&gt;
&lt;br /&gt;
===IdP===&lt;br /&gt;
Amennyiben van SSP alapú IdP-nk, melyet szeretnénk a föderáció részévé tenni, úgy a teendők a következők.&lt;br /&gt;
* (A jelenleg is formálódó adminisztratív teendőktől itt most eltekintünk)&lt;br /&gt;
* Kell küldeni egy levelet a [mailto:aai@niif.hu aai@niif.hu] címre, benne néhány mondat mellett az IdP metaadatának URL-jével (https://example.org/simplesamlphp/saml2/idp/metadata.php)&lt;br /&gt;
* Ha minden rendben megy, akkor az IdP bekerül a [[Resource_Registry]]-be, ezáltal a föderációs metaadatba is.&lt;br /&gt;
* Az előző pontban leírt módon be kell állítani a központi metadata feldolgozását.&lt;br /&gt;
* Amennyiben a föderációs metaadatban már szerepel a mi IdP-nk is, úgy a föderáció valamelyik, tesztelési célokat szolgáló SP-jénél ki is próbálhatjuk a bejelentkezést. &lt;br /&gt;
&lt;br /&gt;
:'''Fontos''', hogy a föderációs Discovery Service óránként generálja újra az IdP-k listáját, így ennyi idő mindenképp szükséges, hogy az új IdP megjelenjen itt, az egyes SP-k pedig két óránként töltik újra a metaadatot, így előfordulhat, hogy azonnal nem fog minden működni, de egy-két óra alatt várhatóan beindul. :)&lt;br /&gt;
&lt;br /&gt;
:Tesztelésre használható oldal: [https://wiki.aai.niif.hu/shibtest.php https://wiki.aai.niif.hu/shibtest.php]&lt;br /&gt;
&lt;br /&gt;
* Ahhoz, hogy a Resource Registry-be is be tudjunk lépni és az IdP további, a föderációra vonatkozó beállításait meg tudjuk ejteni, ehhez az IdP-nek ki kell adnia az alábbi attribútumokat:&lt;br /&gt;
** [[HREFAttributeSpec#mail|mail]] - ez belépés után, manuálisan is beállítható&lt;br /&gt;
** [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]&lt;br /&gt;
** [[HREFAttributeSpec#schacHomeOrganizationType|schacHomeOrganizationType]]&lt;br /&gt;
** [[HREFAttributeSpec#eduScopedAffiliation|eduPersonScopedAffiliation]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Attribútumok kezelése====&lt;br /&gt;
Beállított IdP-nk alapértelmezés szerint azokat az attribútumokat adja ki, melyeket a metaadat alapján az SP kért (Lásd a metadatában a RequestedAttribute elemeket), és egyúttal alapból meg tudta szerezni a felhasználói adatbázisból, esetünkben az LDAP-ból. Mivel néhány attribútum nem szerepel az LDAP-ban, hanem az IdP-ben kell előállítani, így pár helyen módosítanunk kell az alapértelmezett konfiguráción.&lt;br /&gt;
&lt;br /&gt;
:1. Az &amp;lt;code&amp;gt;attributemap/name2oid.php&amp;lt;/code&amp;gt; fájlba az 's'-betűhöz szúrjuk be az alábbi sort:&lt;br /&gt;
 'schacHomeOrganizationType' =&amp;gt; 'urn:oid:1.3.6.1.4.1.25178.1.2.10',&lt;br /&gt;
:2. A &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlba szerkesszük be az alábbi kódrészlet értelemszerűen módosított változatát. Az &amp;lt;code&amp;gt;'auth' =&amp;gt; 'example-ldap',&amp;lt;/code&amp;gt; sor alatt kezdjük. Fontos, hogy egyúttal a config.php &amp;lt;code&amp;gt;authproc.idp&amp;lt;/code&amp;gt; részét kikommentezzük, nehogy az ottani sorszámokkal megadott default feladatok bekavarjanak.&lt;br /&gt;
&lt;br /&gt;
 'AttributeNameFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',&lt;br /&gt;
 'userid.attribute' =&amp;gt; 'uid', // Itt adjuk meg, hogy mely, az LDAPból származó attribútum alapján fogja az IdP kiszámítani az eduPersonTargetedID-t&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
                10 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'uid' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
                //Itt az 'uid' az az attribútum az LDAP-ban, amely a felhasználó azonosítóját tartalmazza, mert ebből képezzük az eduPersonPrincipalName-t.&lt;br /&gt;
                ),&lt;br /&gt;
                20 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                //Kötelező statikus attribútum az [[HREFAttributeSpec#schacHomeOrganizationType|intézmény jellegének]] megfelelően&lt;br /&gt;
                ),&lt;br /&gt;
                30 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonPrincipalName már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                40 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonAffiliation már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                50 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
                // Az LDAP-ból eduPersonAffiliation-ként érkező attribútumból föderációs elvárásoknak megfelelően eduPersonScopedAffiliationt készítünk&lt;br /&gt;
                ),&lt;br /&gt;
                60 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'eduPersonScopedAffiliation' =&amp;gt; array('member@intezmenydomain.hu')&lt;br /&gt;
                // Az eduPersonScopedAffiliation-ben tesztelés céljából kiadhatjuk member értéket, így ha LDAP-ból nem jön érték, akkor is láthatjuk, hogy működik az attribútum kiadás &lt;br /&gt;
                ),&lt;br /&gt;
                61 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
                        'nameId' =&amp;gt; TRUE,&lt;br /&gt;
                ),&lt;br /&gt;
                62 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                        // intézmény típus, https://wiki.niif.hu/index.php?title=HREF_attrib%C3%BAtum_specifik%C3%A1ci%C3%B3#schacHomeOrganizationType&lt;br /&gt;
                ),&lt;br /&gt;
&lt;br /&gt;
               // Itt állítjuk be, hogy az IdP előállítson és kiadhasson állandóazonosítóként eduPersonTargetedID-t, ha kérik&lt;br /&gt;
                70 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'name2oid'&lt;br /&gt;
                // Az LDAP-os attribútum nevekből itt kreálunk szabványos urn:oid formátumúakat&lt;br /&gt;
                ),&lt;br /&gt;
                80 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
              ), // .authproc&lt;br /&gt;
       'simplesaml.nameidattribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
       'attributeencodings' =&amp;gt; array(&lt;br /&gt;
               'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw',&lt;br /&gt;
        ),&lt;br /&gt;
        'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
: További tudnivalók a [[Resource_Registry|Resource Registry-ről]], ill. a [[HREFAttributeSpec|Föderációs attribútum specifikációról]].&lt;br /&gt;
&lt;br /&gt;
* Ha minden rendben ment, akkor a Resource Registry-ben regisztrált IdP-hez tartozó adminisztrációs jogok átkerülnek az IdP technikai gazdájához, s ezzel a folyamat kész is.&lt;br /&gt;
&lt;br /&gt;
===SP===&lt;br /&gt;
Amennyiben IdP-t is beállítottunk, és be is tudunk lépni a Resource Registry-be, úgy nincs más dolgunk, mint az RR-ben új SP-t hozzáadni a föderációhoz, amely a megfelelő átfutási idő után a föderáció minden tagjánál látható is lesz.&lt;br /&gt;
&lt;br /&gt;
Ellenkező esetben (nincs IdP, és nem is tervezünk beállítani), akkor az IdP hozzáadásánál részletezett pontokon kell végig menni a metaadat betöltéséig, s a továbbiakat az említett e-mail címen megbeszélni.&lt;br /&gt;
&lt;br /&gt;
====Attribútum scopeok használata====&lt;br /&gt;
A HREF föderáció IdP-i ún. scopeolt attribútumokat is használnak. Ez a scopeolás azt jelenti, hogy minden egyes IdP csak a saját scopejában ad ki attribútumokat, és a Shibboleth SP-k ezt ellenőrzik is. A scope és az attribútum valódi értéke egy '@' karakterrel kerül elválasztásra (ilyen attribútumok jelenleg: [[HREFAttributeSpec#eduPersonAffiliation|eduPersonScopedAffiliation]] illetve [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]).&lt;br /&gt;
&lt;br /&gt;
A SimpleSAMLphp alapértelmezett telepítése nem szűri a hibásan scopeolt értékeket. Kiegészítő modulként szűrésre használható az NIIF által fejlesztett [https://repo.niif.hu/gitweb/gitweb.cgi?p=simplesamlphp-attributescope.git;a=summary attributescope modul], ami reményeink szerint rövid távon a hivatalos SimpleSAMLphp kiadás része lehet.&lt;br /&gt;
&lt;br /&gt;
: Az &amp;lt;code&amp;gt;attributescope&amp;lt;/code&amp;gt; modul használata esetén a következőképp kell módosítani a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlt:&lt;br /&gt;
&lt;br /&gt;
 'template' =&amp;gt; array(&lt;br /&gt;
   'authproc' =&amp;gt; array(&lt;br /&gt;
     51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
     55 =&amp;gt; array('class' =&amp;gt; 'attributescope:FilterAttributes'),&lt;br /&gt;
   ),&lt;br /&gt;
   'scopedattributes' =&amp;gt; array('eduPersonScopedAffiliation', 'eduPersonPrincipalName'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: simpleSAMLphp]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2956</id>
		<title>SimpleSAMLphp</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2956"/>
				<updated>2014-11-20T10:28:09Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Attribútumok kezelése */ + attributeLimit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő SimpleSAMLphp(SSP) alkalmazást állítsunk üzembe.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Ahhoz, hogy problémamentesen telepíthessük SSP alkalmazásunkat, az alábbi szoftverkomponenseknek kell működniük szerverünkön.&lt;br /&gt;
* PHP futtatására alkalmas webszerver&lt;br /&gt;
* PHP környezet (legalább 5.2.0 verzió)&lt;br /&gt;
* A következő PHP kiterjesztéseket engedélyezni kell&lt;br /&gt;
** &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dom&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcre&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SPL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
** LDAP-ból történő autentikáció esetén: &amp;lt;code&amp;gt;ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
** Adatbázisból történő autentikáció esetén a megfelelő adatbázis-csatolót &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pgsql&amp;lt;/code&amp;gt;&lt;br /&gt;
** RADIUS szerveren keresztül történő autentikáció esetén: &amp;lt;code&amp;gt;radius&amp;lt;/code&amp;gt;&lt;br /&gt;
** Assertion-ök titkosítása esetén: &amp;lt;code&amp;gt;mcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
** Memcache használata esetén: &amp;lt;code&amp;gt;memcache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Letöltés===&lt;br /&gt;
A legfrissebb változat letölthető [http://code.google.com/p/simplesamlphp/ http://code.google.com/p/simplesamlphp/] címről&lt;br /&gt;
&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xzf simplesamlphp-1.x.y.tar.gz&lt;br /&gt;
 mv simplesamlphp-1.x.y simplesamlphp&lt;br /&gt;
&lt;br /&gt;
Alapértelmezés szerint a &amp;lt;code&amp;gt;/var/simplesamlphp&amp;lt;/code&amp;gt; alatt szeretne majd működni, ez természetesen változtatható, de most maradunk az eredeti beállításoknál.&lt;br /&gt;
&lt;br /&gt;
===Apache konfigurálás===&lt;br /&gt;
&lt;br /&gt;
A webről csak a &amp;lt;code&amp;gt;/var/simplesamlphp/www&amp;lt;/code&amp;gt; könyvtárat kell elérni.&lt;br /&gt;
&lt;br /&gt;
 Alias /simplesaml /var/simplesamlphp/www&lt;br /&gt;
&lt;br /&gt;
===Alapbeállítások===&lt;br /&gt;
Mielőtt aktiváljuk valamelyik főszolgáltatását (IdP,SP...) a telepített alkalmazásnak, néhány beállítást meg kell adnunk a konfigurációs fájlban &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* '''Az &amp;quot;admin&amp;quot; felhasználó jelszavát, mellyel webes felületen keresztül be tud lépni a települő SSP-be.'''&lt;br /&gt;
 'auth.adminpassword'        =&amp;gt; 'ujjelszotirdide',&lt;br /&gt;
* '''Titkosítási feladatokhoz szükséges &amp;quot;salt&amp;quot;, azaz véletlenszerűen összeálló karaktersorozat'''&lt;br /&gt;
 'secretsalt' =&amp;gt; 'randombytesinsertedhere',&lt;br /&gt;
A karaktersorozat előállításában segíthet az alábbi parancs: &lt;br /&gt;
 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' &amp;lt;/dev/urandom | dd bs=32 count=1 2&amp;gt;/dev/null;echo&lt;br /&gt;
* '''Elérhetőségeket, amely adatok bekerülnek majd a generált metaadatba'''&lt;br /&gt;
 'technicalcontact_name'     =&amp;gt; 'Gipsz Jakab',&lt;br /&gt;
 'technicalcontact_email'    =&amp;gt; 'jakab.gipsz@example.org',&lt;br /&gt;
* '''Nyelv és időzóna adatok'''&lt;br /&gt;
 'language.default'      =&amp;gt; 'hu',&lt;br /&gt;
 'timezone' =&amp;gt; 'Europe/Budapest',&lt;br /&gt;
&lt;br /&gt;
===Telepítés kész===&lt;br /&gt;
Amennyiben elkészültünk a fenti lépésekkel, úgy a [https://service.example.org/simplesaml/ https://service.example.org/simplesaml/] címen elérjük a telepített SSP-nk webes adminfelületét, ahol megejthetjük a további beállítások nagy részét.&lt;br /&gt;
&lt;br /&gt;
==IdP beállítás==&lt;br /&gt;
===IdP funkció engedélyezése===&lt;br /&gt;
A &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk, s engedélyezni a saml20 idp lehetőséget.&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
===Autentikáció LDAP alapon===&lt;br /&gt;
Meg kell adni, hogy az IdP milyen módon azonosítsa a felhasználót, amennyiben alapértelmezés szerint nem engedélyezett modult szeretnénk használni, úgy a megfelelő modult a &amp;lt;code&amp;gt;modules&amp;lt;/code&amp;gt; könyvtár alatt engedélyezni kell. Az alábbi példában az LDAP alapú azonosítást mutatjuk be, amely külön modult nem igényel, alapértelmezés szerint része a telepített alkalmazásnak.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy megadhassuk az LDAP-hoz tartozó beállításokat, a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk. Az alábbi kódrészletet elegendő beszúrni, és az egyes változóknak a helyi LDAP-nak megfelelő adatokat értékül adni.&lt;br /&gt;
 'example-ldap' =&amp;gt; array(&lt;br /&gt;
    'ldap:LDAP',&lt;br /&gt;
 &lt;br /&gt;
    /* The hostname of the LDAP server. */&lt;br /&gt;
    'hostname' =&amp;gt; 'ldap.example.org',&lt;br /&gt;
 &lt;br /&gt;
    /* Whether SSL/TLS should be used when contacting the LDAP server. */&lt;br /&gt;
    'enable_tls' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * Which attributes should be retrieved from the LDAP server.&lt;br /&gt;
     * This can be an array of attribute names, or NULL, in which case&lt;br /&gt;
     * all attributes are fetched.&lt;br /&gt;
     */&lt;br /&gt;
    'attributes' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The pattern which should be used to create the users DN given the username.&lt;br /&gt;
     * %username% in this pattern will be replaced with the users username.&lt;br /&gt;
     *&lt;br /&gt;
     * This option is not used if the search.enable option is set to TRUE.&lt;br /&gt;
     */&lt;br /&gt;
    'dnpattern' =&amp;gt; 'uid=%username%,ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * As an alternative to specifying a pattern for the users DN, it is possible to&lt;br /&gt;
     * search for the username in a set of attributes. This is enabled by this option.&lt;br /&gt;
     */&lt;br /&gt;
    'search.enable' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The DN which will be used as a base for the search.&lt;br /&gt;
     * This can be a single string, in which case only that DN is searched, or an&lt;br /&gt;
     * array of strings, in which case they will be searched in the order given.&lt;br /&gt;
     */&lt;br /&gt;
    'search.base' =&amp;gt; 'ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The attribute(s) the username should match against.&lt;br /&gt;
     *&lt;br /&gt;
     * This is an array with one or more attribute names. Any of the attributes in&lt;br /&gt;
     * the array may match the value the username.&lt;br /&gt;
     */&lt;br /&gt;
    'search.attributes' =&amp;gt; array('uid', 'mail'),&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The username &amp;amp; password the simpleSAMLphp should bind to before searching. If&lt;br /&gt;
     * this is left as NULL, no bind will be performed before searching.&lt;br /&gt;
     */&lt;br /&gt;
    'search.username' =&amp;gt; NULL,&lt;br /&gt;
    'search.password' =&amp;gt; NULL,&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
===Metaadat alapok===&lt;br /&gt;
A beállítandó IdP alapvető paraméterei a &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlban állíthatók. Az alábbi kódrészlet egy minimális, de már működő példát mutat.&lt;br /&gt;
&lt;br /&gt;
 $metadata['__DYNAMIC:1__'] = array(&lt;br /&gt;
    /*&lt;br /&gt;
     * The hostname for this IdP. This makes it possible to run multiple&lt;br /&gt;
     * IdPs from the same configuration. '__DEFAULT__' means that this one&lt;br /&gt;
     * should be used by default.&lt;br /&gt;
     */&lt;br /&gt;
    'host' =&amp;gt; '__DEFAULT__',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The private key and certificate to use when signing responses.&lt;br /&gt;
     * These are stored in the cert-directory.&lt;br /&gt;
     */&lt;br /&gt;
    'privatekey' =&amp;gt; 'idp.example.org.key',&lt;br /&gt;
    'certificate' =&amp;gt; 'idp.example.org.crt',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The authentication source which should be used to authenticate the&lt;br /&gt;
     * user. This must match one of the entries in config/authsources.php.&lt;br /&gt;
     */&lt;br /&gt;
    'auth' =&amp;gt; 'example-ldap',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Teszteléshez is érdemes, éles használathoz pedig elengedhetetlen, hogy a csomagban érkezett tanúsítványt felülírjuk, ezt célszerű mihamarabb megtenni. Ehhez az alábbi parancs lehet segítségünkre.&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out idp.example.org.crt -keyout idp.example.org.key&lt;br /&gt;
A fingerprint az alábbi módon kérdezhető le a legegyszerűbben&lt;br /&gt;
 openssl x509 -fingerprint -noout -in idp.example.org.crt&lt;br /&gt;
&lt;br /&gt;
Megfelelő beállítások után a dinamikusan generált metadata a &amp;lt;code&amp;gt;/saml2/idp/metadata.php&amp;lt;/code&amp;gt; útvonalon érhető el.&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Legegyszerűbben a telepített SSP felületén tudjuk ellenőrizni, hogy a beállított autentikációs forrás működik-e. A felületen az Authentication fül alatt található egy 'Test authentication sources' link, amelyre kattintva látható minden beállított autentikációs forrás is, így a két alapértelmezett, teszt célokat szolgáló alatt a most beállított example-ldap névre hallgatónak is meg kell jelenni. (A közvetlen url erre az oldalra: simplesaml/module.php/core/authenticate.php) Ez utóbbira kattintva a beállított LDAP-ból autentikálva be kell tudnunk jelentkeznünk; siker esetén az LDAP-ból kinyerhető attribútumokat láthatjuk.&lt;br /&gt;
&lt;br /&gt;
==SP beállítás==&lt;br /&gt;
===Alapadatok===&lt;br /&gt;
A telepített alkalmazásunk által kezelt SP-ket a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlban tudjuk beállítani.&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of the IdP this should SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        'privatekey' =&amp;gt; 'saml.pem',&lt;br /&gt;
        'certificate' =&amp;gt; 'saml.crt',&lt;br /&gt;
 &lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A fenti beállítások alapján az SP entityID-ja megegyezik a metadata elérési útvonalával (szokásos megoldás SSP-nél), nem adunk meg alapértelmezett idp-t, ezáltal az SSP választási lehetőséget kínál fel számunkra, mikor az SP-re szeretnénk bejelentkezni, ill. most még Discovery Service URL-t sem adunk meg, hanem a beépítettet használjuk. Ez utóbbit majd a HREF-be történő integrációkor meg kell változtatni - lásd lejjebb.&lt;br /&gt;
&lt;br /&gt;
Az IdP beállításához hasonlóan itt is szükség lesz egy tanúsítvány generálására a &amp;lt;code&amp;gt;cert&amp;lt;/code&amp;gt; könyvtárba. Ehhez segítség lehet az alábbi parancs.&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.pem&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Amennyiben IdP is beállításra került, úgy a legcélszerűbb ezt összehangolni az SP-vel. Ehhez egyfelől a &amp;lt;code&amp;gt;metadata/saml20-idp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adni az IdP adatait, amely esetünkben az alábbiak szerint fest.&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/saml2/idp/metadata.php'] = array(&lt;br /&gt;
        'name' =&amp;gt; array(&lt;br /&gt;
                'en' =&amp;gt; 'TestSP'&lt;br /&gt;
        ),&lt;br /&gt;
        'SingleSignOnService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SSOService.php',&lt;br /&gt;
        'SingleLogoutService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SingleLogoutService.php',&lt;br /&gt;
        'certFingerprint'      =&amp;gt; 'afe71c28ef740bc87425be13a2263d37971da1f9'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ehhez hasonlóan a &amp;lt;code&amp;gt;metadata/saml20-sp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adnunk az SP adatait. Teszteléshez az alábbiak elegendők:&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array (&lt;br /&gt;
  'AssertionConsumerService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',&lt;br /&gt;
  'SingleLogoutService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ezek után az IdP tesztelésénél már említett oldalon a default-sp opciót kiválasztva, majd a legördülő menüben a TestSP-re kattintva be kell tudnunk jelentkezni az IdP-n keresztül. Ha működik, akkor az alapvető lépsekkel kész vagyunk, van egy működő SP-nk és egy működő IdP-nk.&lt;br /&gt;
&lt;br /&gt;
==HREF-integráció==&lt;br /&gt;
&lt;br /&gt;
===Metadata beállítása (IdP és SP is)===&lt;br /&gt;
* Az SSP-nél be kell állítani metaadat forrásként a központi metaadatot&lt;br /&gt;
:*Első lépésként engedélyezzük, hogy az SSP automatikusan frissíthesse a metaadatot, ill. az ezt elvégző két modult&lt;br /&gt;
 touch modules/metarefresh/enable&lt;br /&gt;
 cp modules/metarefresh/config-templates/*.php config/&lt;br /&gt;
 touch modules/cron/enable&lt;br /&gt;
 cp modules/cron/config-templates/*.php config/&lt;br /&gt;
&lt;br /&gt;
:*Létrehozunk egy könyvtárat, ahová letöltésre kerül az központi metaadat XML fájlja&lt;br /&gt;
 mkdir metadata/metarefresh-href&lt;br /&gt;
 chmod g+rw metadata/metarefresh-href&lt;br /&gt;
:*Ezek után be kell állítani a metaadat kokrét adatait a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlban&lt;br /&gt;
 $config = array(&lt;br /&gt;
    'sets' =&amp;gt; array(&lt;br /&gt;
        'hu' =&amp;gt; array(&lt;br /&gt;
            'cron'      =&amp;gt; array('hourly'),&lt;br /&gt;
            'sources'   =&amp;gt; array(&lt;br /&gt;
                array(&lt;br /&gt;
                    'src' =&amp;gt; 'http://metadata.eduid.hu/2011/href.xml',&lt;br /&gt;
                    'validateFingerprint' =&amp;gt; 'FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66',&lt;br /&gt;
                    'template' =&amp;gt; array(&lt;br /&gt;
                        'authproc' =&amp;gt; array(&lt;br /&gt;
                            51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
            'expireAfter'       =&amp;gt; 60*60*24*4, // Maximum 4 days cache time.&lt;br /&gt;
            'outputDir'     =&amp;gt; 'metadata/metarefresh-href/',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
 );&lt;br /&gt;
:*Be kell állítani, hogy az SSP az automata által generált fájlokból dolgozzon. Ehhez a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlban keressük ki a &amp;lt;code&amp;gt;metadata.source&amp;lt;/code&amp;gt; szakaszt, és az alábbiak szerint szerkesszük át. Amennyiben nem csak a központi metaadatból szeretnénk dolgozni, úgy további sorokat is megadhatunk itt bemutatott mintájára.&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile'), // IdP esetén kell, itt van az önmagát leíró metadata&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile', 'directory' =&amp;gt; 'metadata/metarefresh-href'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
:*Végül le kell futtatni kézzel a cronjobot, amelyet az SSP webes felületén tudunk megtenni a Configuration fül alatt, a Cron module information page menüpontban. Ekkor létrejönnek a fájlok (majd óránként frissülnek is, ha beállítjuk cronjobként).&lt;br /&gt;
&lt;br /&gt;
==== Metarefresh webszerver nélkül ====&lt;br /&gt;
Sajnos a simpleSAMLphp a nagyon nagy metadata állományok webszerveren keresztüli hívással indított feldolgozásában nem jeleskedik, márpedig az eduGAIN nemzetközi konföderáció metaadata óriási, így érdemes a config-metarefresht parancssoros php-ként meghívni, így a webszerveren keresztül történő futtatás várható időtullépését kiegyszerűsíthetjük a képletből. Ehhez vegyünk fel két külön cronjobot. Az egyik letölti a metadata állományt. A másik pedig helyben elvégzi a feldolgozást.&lt;br /&gt;
&lt;br /&gt;
 5 * * * * www-data wget -nv -q http://metadata.eduid.hu/current/edugain.xml -O /tmp/hrefsigned_edugain.xml &lt;br /&gt;
 10 * * * * www-data /var/simplesamlphp/modules/metarefresh/bin/metarefresh.php -o=metadata/metarefresh-edugain /tmp/hrefsigned_edugain.xml&lt;br /&gt;
&lt;br /&gt;
A második parancs feltételezi hogy a simplesamlphp/metadata/metarefresh-edugain könyvtár létezik és a www-data által írható.&lt;br /&gt;
&lt;br /&gt;
===IdP===&lt;br /&gt;
Amennyiben van SSP alapú IdP-nk, melyet szeretnénk a föderáció részévé tenni, úgy a teendők a következők.&lt;br /&gt;
* (A jelenleg is formálódó adminisztratív teendőktől itt most eltekintünk)&lt;br /&gt;
* Kell küldeni egy levelet a [mailto:aai@niif.hu aai@niif.hu] címre, benne néhány mondat mellett az IdP metaadatának URL-jével (https://example.org/simplesamlphp/saml2/idp/metadata.php)&lt;br /&gt;
* Ha minden rendben megy, akkor az IdP bekerül a [[Resource_Registry]]-be, ezáltal a föderációs metaadatba is.&lt;br /&gt;
* Az előző pontban leírt módon be kell állítani a központi metadata feldolgozását.&lt;br /&gt;
* Amennyiben a föderációs metaadatban már szerepel a mi IdP-nk is, úgy a föderáció valamelyik, tesztelési célokat szolgáló SP-jénél ki is próbálhatjuk a bejelentkezést. &lt;br /&gt;
&lt;br /&gt;
:'''Fontos''', hogy a föderációs Discovery Service óránként generálja újra az IdP-k listáját, így ennyi idő mindenképp szükséges, hogy az új IdP megjelenjen itt, az egyes SP-k pedig két óránként töltik újra a metaadatot, így előfordulhat, hogy azonnal nem fog minden működni, de egy-két óra alatt várhatóan beindul. :)&lt;br /&gt;
&lt;br /&gt;
:Tesztelésre használható oldal: [https://wiki.aai.niif.hu/shibtest.php https://wiki.aai.niif.hu/shibtest.php]&lt;br /&gt;
&lt;br /&gt;
* Ahhoz, hogy a Resource Registry-be is be tudjunk lépni és az IdP további, a föderációra vonatkozó beállításait meg tudjuk ejteni, ehhez az IdP-nek ki kell adnia az alábbi attribútumokat:&lt;br /&gt;
** [[HREFAttributeSpec#mail|mail]] - ez belépés után, manuálisan is beállítható&lt;br /&gt;
** [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]&lt;br /&gt;
** [[HREFAttributeSpec#schacHomeOrganizationType|schacHomeOrganizationType]]&lt;br /&gt;
** [[HREFAttributeSpec#eduScopedAffiliation|eduPersonScopedAffiliation]]&lt;br /&gt;
&lt;br /&gt;
====Attribútumok kezelése====&lt;br /&gt;
Beállított IdP-nk alapértelmezés szerint azokat az attribútumokat adja ki, melyeket a metaadat alapján az SP kért (Lásd a metadatában a RequestedAttribute elemeket), és egyúttal alapból meg tudta szerezni a felhasználói adatbázisból, esetünkben az LDAP-ból. Mivel néhány attribútum nem szerepel az LDAP-ban, hanem az IdP-ben kell előállítani, így pár helyen módosítanunk kell az alapértelmezett konfiguráción.&lt;br /&gt;
&lt;br /&gt;
:1. Az &amp;lt;code&amp;gt;attributemap/name2oid.php&amp;lt;/code&amp;gt; fájlba az 's'-betűhöz szúrjuk be az alábbi sort:&lt;br /&gt;
 'schacHomeOrganizationType' =&amp;gt; 'urn:oid:1.3.6.1.4.1.25178.1.2.10',&lt;br /&gt;
:2. A &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlba szerkesszük be az alábbi kódrészlet értelemszerűen módosított változatát. Az &amp;lt;code&amp;gt;'auth' =&amp;gt; 'example-ldap',&amp;lt;/code&amp;gt; sor alatt kezdjük. Fontos, hogy egyúttal a config.php &amp;lt;code&amp;gt;authproc.idp&amp;lt;/code&amp;gt; részét kikommentezzük, nehogy az ottani sorszámokkal megadott default feladatok bekavarjanak.&lt;br /&gt;
&lt;br /&gt;
 'AttributeNameFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',&lt;br /&gt;
 'userid.attribute' =&amp;gt; 'uid', // Itt adjuk meg, hogy mely, az LDAPból származó attribútum alapján fogja az IdP kiszámítani az eduPersonTargetedID-t&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
                10 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'uid' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
                //Itt az 'uid' az az attribútum az LDAP-ban, amely a felhasználó azonosítóját tartalmazza, mert ebből képezzük az eduPersonPrincipalName-t.&lt;br /&gt;
                ),&lt;br /&gt;
                20 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                //Kötelező statikus attribútum az [[HREFAttributeSpec#schacHomeOrganizationType|intézmény jellegének]] megfelelően&lt;br /&gt;
                ),&lt;br /&gt;
                30 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonPrincipalName már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                40 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonAffiliation már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                50 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
                // Az LDAP-ból eduPersonAffiliation-ként érkező attribútumból föderációs elvárásoknak megfelelően eduPersonScopedAffiliationt készítünk&lt;br /&gt;
                ),&lt;br /&gt;
                60 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'eduPersonScopedAffiliation' =&amp;gt; array('member@intezmenydomain.hu')&lt;br /&gt;
                // Az eduPersonScopedAffiliation-ben tesztelés céljából kiadhatjuk member értéket, így ha LDAP-ból nem jön érték, akkor is láthatjuk, hogy működik az attribútum kiadás &lt;br /&gt;
                ),&lt;br /&gt;
                61 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
                        'nameId' =&amp;gt; TRUE,&lt;br /&gt;
                ),&lt;br /&gt;
               // Itt állítjuk be, hogy az IdP előállítson és kiadhasson állandóazonosítóként eduPersonTargetedID-t, ha kérik&lt;br /&gt;
                70 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'name2oid'&lt;br /&gt;
                // Az LDAP-os attribútum nevekből itt kreálunk szabványos urn:oid formátumúakat&lt;br /&gt;
                ),&lt;br /&gt;
                80 =&amp;gt; 'core:AttributeLimit',&lt;br /&gt;
              ), // .authproc&lt;br /&gt;
       'simplesaml.nameidattribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
       'attributeencodings' =&amp;gt; array(&lt;br /&gt;
               'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw',&lt;br /&gt;
        ),&lt;br /&gt;
        'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
: További tudnivalók a [[Resource_Registry|Resource Registry-ről]], ill. a [[HREFAttributeSpec|Föderációs attribútum specifikációról]].&lt;br /&gt;
&lt;br /&gt;
* Ha minden rendben ment, akkor a Resource Registry-ben regisztrált IdP-hez tartozó adminisztrációs jogok átkerülnek az IdP technikai gazdájához, s ezzel a folyamat kész is.&lt;br /&gt;
&lt;br /&gt;
===SP===&lt;br /&gt;
Amennyiben IdP-t is beállítottunk, és be is tudunk lépni a Resource Registry-be, úgy nincs más dolgunk, mint az RR-ben új SP-t hozzáadni a föderációhoz, amely a megfelelő átfutási idő után a föderáció minden tagjánál látható is lesz.&lt;br /&gt;
&lt;br /&gt;
Ellenkező esetben (nincs IdP, és nem is tervezünk beállítani), akkor az IdP hozzáadásánál részletezett pontokon kell végig menni a metaadat betöltéséig, s a továbbiakat az említett e-mail címen megbeszélni.&lt;br /&gt;
&lt;br /&gt;
====Attribútum scopeok használata====&lt;br /&gt;
A HREF föderáció IdP-i ún. scopeolt attribútumokat is használnak. Ez a scopeolás azt jelenti, hogy minden egyes IdP csak a saját scopejában ad ki attribútumokat, és a Shibboleth SP-k ezt ellenőrzik is. A scope és az attribútum valódi értéke egy '@' karakterrel kerül elválasztásra (ilyen attribútumok jelenleg: [[HREFAttributeSpec#eduPersonAffiliation|eduPersonScopedAffiliation]] illetve [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]).&lt;br /&gt;
&lt;br /&gt;
A SimpleSAMLphp alapértelmezett telepítése nem szűri a hibásan scopeolt értékeket. Kiegészítő modulként szűrésre használható az NIIF által fejlesztett [https://repo.niif.hu/gitweb/gitweb.cgi?p=simplesamlphp-attributescope.git;a=summary attributescope modul], ami reményeink szerint rövid távon a hivatalos SimpleSAMLphp kiadás része lehet.&lt;br /&gt;
&lt;br /&gt;
: Az &amp;lt;code&amp;gt;attributescope&amp;lt;/code&amp;gt; modul használata esetén a következőképp kell módosítani a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlt:&lt;br /&gt;
&lt;br /&gt;
 'template' =&amp;gt; array(&lt;br /&gt;
   'authproc' =&amp;gt; array(&lt;br /&gt;
     51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
     55 =&amp;gt; array('class' =&amp;gt; 'attributescope:FilterAttributes'),&lt;br /&gt;
   ),&lt;br /&gt;
   'scopedattributes' =&amp;gt; array('eduPersonScopedAffiliation', 'eduPersonPrincipalName'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: simpleSAMLphp]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2955</id>
		<title>SimpleSAMLphp</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=SimpleSAMLphp&amp;diff=2955"/>
				<updated>2014-11-20T08:31:50Z</updated>
		
		<summary type="html">&lt;p&gt;Gyufi(AT)niif.hu: /* Metadata beállítása (IdP és SP is) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az alábbi lapon megkíséreljük összefoglalni a legfontosabb lépéseket, melyek általános esetben elegendőek ahhoz, hogy működő SimpleSAMLphp(SSP) alkalmazást állítsunk üzembe.&lt;br /&gt;
&lt;br /&gt;
==Telepítés==&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Ahhoz, hogy problémamentesen telepíthessük SSP alkalmazásunkat, az alábbi szoftverkomponenseknek kell működniük szerverünkön.&lt;br /&gt;
* PHP futtatására alkalmas webszerver&lt;br /&gt;
* PHP környezet (legalább 5.2.0 verzió)&lt;br /&gt;
* A következő PHP kiterjesztéseket engedélyezni kell&lt;br /&gt;
** &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;dom&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;hash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;libxml&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;openssl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pcre&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SPL&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;zlib&amp;lt;/code&amp;gt;&lt;br /&gt;
** LDAP-ból történő autentikáció esetén: &amp;lt;code&amp;gt;ldap&amp;lt;/code&amp;gt;&lt;br /&gt;
** Adatbázisból történő autentikáció esetén a megfelelő adatbázis-csatolót &amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pgsql&amp;lt;/code&amp;gt;&lt;br /&gt;
** RADIUS szerveren keresztül történő autentikáció esetén: &amp;lt;code&amp;gt;radius&amp;lt;/code&amp;gt;&lt;br /&gt;
** Assertion-ök titkosítása esetén: &amp;lt;code&amp;gt;mcrypt&amp;lt;/code&amp;gt;&lt;br /&gt;
** Memcache használata esetén: &amp;lt;code&amp;gt;memcache&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Letöltés===&lt;br /&gt;
A legfrissebb változat letölthető [http://code.google.com/p/simplesamlphp/ http://code.google.com/p/simplesamlphp/] címről&lt;br /&gt;
&lt;br /&gt;
 cd /var&lt;br /&gt;
 tar xzf simplesamlphp-1.x.y.tar.gz&lt;br /&gt;
 mv simplesamlphp-1.x.y simplesamlphp&lt;br /&gt;
&lt;br /&gt;
Alapértelmezés szerint a &amp;lt;code&amp;gt;/var/simplesamlphp&amp;lt;/code&amp;gt; alatt szeretne majd működni, ez természetesen változtatható, de most maradunk az eredeti beállításoknál.&lt;br /&gt;
&lt;br /&gt;
===Apache konfigurálás===&lt;br /&gt;
&lt;br /&gt;
A webről csak a &amp;lt;code&amp;gt;/var/simplesamlphp/www&amp;lt;/code&amp;gt; könyvtárat kell elérni.&lt;br /&gt;
&lt;br /&gt;
 Alias /simplesaml /var/simplesamlphp/www&lt;br /&gt;
&lt;br /&gt;
===Alapbeállítások===&lt;br /&gt;
Mielőtt aktiváljuk valamelyik főszolgáltatását (IdP,SP...) a telepített alkalmazásnak, néhány beállítást meg kell adnunk a konfigurációs fájlban &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt;.&lt;br /&gt;
* '''Az &amp;quot;admin&amp;quot; felhasználó jelszavát, mellyel webes felületen keresztül be tud lépni a települő SSP-be.'''&lt;br /&gt;
 'auth.adminpassword'        =&amp;gt; 'ujjelszotirdide',&lt;br /&gt;
* '''Titkosítási feladatokhoz szükséges &amp;quot;salt&amp;quot;, azaz véletlenszerűen összeálló karaktersorozat'''&lt;br /&gt;
 'secretsalt' =&amp;gt; 'randombytesinsertedhere',&lt;br /&gt;
A karaktersorozat előállításában segíthet az alábbi parancs: &lt;br /&gt;
 tr -c -d '0123456789abcdefghijklmnopqrstuvwxyz' &amp;lt;/dev/urandom | dd bs=32 count=1 2&amp;gt;/dev/null;echo&lt;br /&gt;
* '''Elérhetőségeket, amely adatok bekerülnek majd a generált metaadatba'''&lt;br /&gt;
 'technicalcontact_name'     =&amp;gt; 'Gipsz Jakab',&lt;br /&gt;
 'technicalcontact_email'    =&amp;gt; 'jakab.gipsz@example.org',&lt;br /&gt;
* '''Nyelv és időzóna adatok'''&lt;br /&gt;
 'language.default'      =&amp;gt; 'hu',&lt;br /&gt;
 'timezone' =&amp;gt; 'Europe/Budapest',&lt;br /&gt;
&lt;br /&gt;
===Telepítés kész===&lt;br /&gt;
Amennyiben elkészültünk a fenti lépésekkel, úgy a [https://service.example.org/simplesaml/ https://service.example.org/simplesaml/] címen elérjük a telepített SSP-nk webes adminfelületét, ahol megejthetjük a további beállítások nagy részét.&lt;br /&gt;
&lt;br /&gt;
==IdP beállítás==&lt;br /&gt;
===IdP funkció engedélyezése===&lt;br /&gt;
A &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk, s engedélyezni a saml20 idp lehetőséget.&lt;br /&gt;
 'enable.saml20-idp' =&amp;gt; true,&lt;br /&gt;
===Autentikáció LDAP alapon===&lt;br /&gt;
Meg kell adni, hogy az IdP milyen módon azonosítsa a felhasználót, amennyiben alapértelmezés szerint nem engedélyezett modult szeretnénk használni, úgy a megfelelő modult a &amp;lt;code&amp;gt;modules&amp;lt;/code&amp;gt; könyvtár alatt engedélyezni kell. Az alábbi példában az LDAP alapú azonosítást mutatjuk be, amely külön modult nem igényel, alapértelmezés szerint része a telepített alkalmazásnak.&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy megadhassuk az LDAP-hoz tartozó beállításokat, a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk. Az alábbi kódrészletet elegendő beszúrni, és az egyes változóknak a helyi LDAP-nak megfelelő adatokat értékül adni.&lt;br /&gt;
 'example-ldap' =&amp;gt; array(&lt;br /&gt;
    'ldap:LDAP',&lt;br /&gt;
 &lt;br /&gt;
    /* The hostname of the LDAP server. */&lt;br /&gt;
    'hostname' =&amp;gt; 'ldap.example.org',&lt;br /&gt;
 &lt;br /&gt;
    /* Whether SSL/TLS should be used when contacting the LDAP server. */&lt;br /&gt;
    'enable_tls' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * Which attributes should be retrieved from the LDAP server.&lt;br /&gt;
     * This can be an array of attribute names, or NULL, in which case&lt;br /&gt;
     * all attributes are fetched.&lt;br /&gt;
     */&lt;br /&gt;
    'attributes' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The pattern which should be used to create the users DN given the username.&lt;br /&gt;
     * %username% in this pattern will be replaced with the users username.&lt;br /&gt;
     *&lt;br /&gt;
     * This option is not used if the search.enable option is set to TRUE.&lt;br /&gt;
     */&lt;br /&gt;
    'dnpattern' =&amp;gt; 'uid=%username%,ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * As an alternative to specifying a pattern for the users DN, it is possible to&lt;br /&gt;
     * search for the username in a set of attributes. This is enabled by this option.&lt;br /&gt;
     */&lt;br /&gt;
    'search.enable' =&amp;gt; FALSE,&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The DN which will be used as a base for the search.&lt;br /&gt;
     * This can be a single string, in which case only that DN is searched, or an&lt;br /&gt;
     * array of strings, in which case they will be searched in the order given.&lt;br /&gt;
     */&lt;br /&gt;
    'search.base' =&amp;gt; 'ou=people,dc=example,dc=org',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The attribute(s) the username should match against.&lt;br /&gt;
     *&lt;br /&gt;
     * This is an array with one or more attribute names. Any of the attributes in&lt;br /&gt;
     * the array may match the value the username.&lt;br /&gt;
     */&lt;br /&gt;
    'search.attributes' =&amp;gt; array('uid', 'mail'),&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The username &amp;amp; password the simpleSAMLphp should bind to before searching. If&lt;br /&gt;
     * this is left as NULL, no bind will be performed before searching.&lt;br /&gt;
     */&lt;br /&gt;
    'search.username' =&amp;gt; NULL,&lt;br /&gt;
    'search.password' =&amp;gt; NULL,&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
===Metaadat alapok===&lt;br /&gt;
A beállítandó IdP alapvető paraméterei a &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlban állíthatók. Az alábbi kódrészlet egy minimális, de már működő példát mutat.&lt;br /&gt;
&lt;br /&gt;
 $metadata['__DYNAMIC:1__'] = array(&lt;br /&gt;
    /*&lt;br /&gt;
     * The hostname for this IdP. This makes it possible to run multiple&lt;br /&gt;
     * IdPs from the same configuration. '__DEFAULT__' means that this one&lt;br /&gt;
     * should be used by default.&lt;br /&gt;
     */&lt;br /&gt;
    'host' =&amp;gt; '__DEFAULT__',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The private key and certificate to use when signing responses.&lt;br /&gt;
     * These are stored in the cert-directory.&lt;br /&gt;
     */&lt;br /&gt;
    'privatekey' =&amp;gt; 'idp.example.org.key',&lt;br /&gt;
    'certificate' =&amp;gt; 'idp.example.org.crt',&lt;br /&gt;
 &lt;br /&gt;
    /*&lt;br /&gt;
     * The authentication source which should be used to authenticate the&lt;br /&gt;
     * user. This must match one of the entries in config/authsources.php.&lt;br /&gt;
     */&lt;br /&gt;
    'auth' =&amp;gt; 'example-ldap',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Teszteléshez is érdemes, éles használathoz pedig elengedhetetlen, hogy a csomagban érkezett tanúsítványt felülírjuk, ezt célszerű mihamarabb megtenni. Ehhez az alábbi parancs lehet segítségünkre.&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out idp.example.org.crt -keyout idp.example.org.key&lt;br /&gt;
A fingerprint az alábbi módon kérdezhető le a legegyszerűbben&lt;br /&gt;
 openssl x509 -fingerprint -noout -in idp.example.org.crt&lt;br /&gt;
&lt;br /&gt;
Megfelelő beállítások után a dinamikusan generált metadata a &amp;lt;code&amp;gt;/saml2/idp/metadata.php&amp;lt;/code&amp;gt; útvonalon érhető el.&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Legegyszerűbben a telepített SSP felületén tudjuk ellenőrizni, hogy a beállított autentikációs forrás működik-e. A felületen az Authentication fül alatt található egy 'Test authentication sources' link, amelyre kattintva látható minden beállított autentikációs forrás is, így a két alapértelmezett, teszt célokat szolgáló alatt a most beállított example-ldap névre hallgatónak is meg kell jelenni. (A közvetlen url erre az oldalra: simplesaml/module.php/core/authenticate.php) Ez utóbbira kattintva a beállított LDAP-ból autentikálva be kell tudnunk jelentkeznünk; siker esetén az LDAP-ból kinyerhető attribútumokat láthatjuk.&lt;br /&gt;
&lt;br /&gt;
==SP beállítás==&lt;br /&gt;
===Alapadatok===&lt;br /&gt;
A telepített alkalmazásunk által kezelt SP-ket a &amp;lt;code&amp;gt;config/authsources.php&amp;lt;/code&amp;gt; fájlban tudjuk beállítani.&lt;br /&gt;
&lt;br /&gt;
 'default-sp' =&amp;gt; array(&lt;br /&gt;
        'saml:SP',&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of this SP.&lt;br /&gt;
        // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.&lt;br /&gt;
        'entityID' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The entity ID of the IdP this should SP should contact.&lt;br /&gt;
        // Can be NULL/unset, in which case the user will be shown a list of available IdPs.&lt;br /&gt;
        'idp' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        // The URL to the discovery service.&lt;br /&gt;
        // Can be NULL/unset, in which case a builtin discovery service will be used.&lt;br /&gt;
        'discoURL' =&amp;gt; NULL,&lt;br /&gt;
 &lt;br /&gt;
        'privatekey' =&amp;gt; 'saml.pem',&lt;br /&gt;
        'certificate' =&amp;gt; 'saml.crt',&lt;br /&gt;
 &lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
A fenti beállítások alapján az SP entityID-ja megegyezik a metadata elérési útvonalával (szokásos megoldás SSP-nél), nem adunk meg alapértelmezett idp-t, ezáltal az SSP választási lehetőséget kínál fel számunkra, mikor az SP-re szeretnénk bejelentkezni, ill. most még Discovery Service URL-t sem adunk meg, hanem a beépítettet használjuk. Ez utóbbit majd a HREF-be történő integrációkor meg kell változtatni - lásd lejjebb.&lt;br /&gt;
&lt;br /&gt;
Az IdP beállításához hasonlóan itt is szükség lesz egy tanúsítvány generálására a &amp;lt;code&amp;gt;cert&amp;lt;/code&amp;gt; könyvtárba. Ehhez segítség lehet az alábbi parancs.&lt;br /&gt;
&lt;br /&gt;
 openssl req -new -x509 -days 3652 -nodes -out saml.crt -keyout saml.pem&lt;br /&gt;
&lt;br /&gt;
===Tesztelés===&lt;br /&gt;
Amennyiben IdP is beállításra került, úgy a legcélszerűbb ezt összehangolni az SP-vel. Ehhez egyfelől a &amp;lt;code&amp;gt;metadata/saml20-idp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adni az IdP adatait, amely esetünkben az alábbiak szerint fest.&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/saml2/idp/metadata.php'] = array(&lt;br /&gt;
        'name' =&amp;gt; array(&lt;br /&gt;
                'en' =&amp;gt; 'TestSP'&lt;br /&gt;
        ),&lt;br /&gt;
        'SingleSignOnService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SSOService.php',&lt;br /&gt;
        'SingleLogoutService'  =&amp;gt; 'https://example.org/simplesaml/saml2/idp/SingleLogoutService.php',&lt;br /&gt;
        'certFingerprint'      =&amp;gt; 'afe71c28ef740bc87425be13a2263d37971da1f9'&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ehhez hasonlóan a &amp;lt;code&amp;gt;metadata/saml20-sp-remote.php&amp;lt;/code&amp;gt; fájlban meg kell adnunk az SP adatait. Teszteléshez az alábbiak elegendők:&lt;br /&gt;
&lt;br /&gt;
 $metadata['https://example.org/simplesaml/module.php/saml/sp/metadata.php/default-sp'] = array (&lt;br /&gt;
  'AssertionConsumerService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp',&lt;br /&gt;
  'SingleLogoutService' =&amp;gt; 'https://example.org/simplesaml/module.php/saml/sp/saml2-logout.php/default-sp',&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Ezek után az IdP tesztelésénél már említett oldalon a default-sp opciót kiválasztva, majd a legördülő menüben a TestSP-re kattintva be kell tudnunk jelentkezni az IdP-n keresztül. Ha működik, akkor az alapvető lépsekkel kész vagyunk, van egy működő SP-nk és egy működő IdP-nk.&lt;br /&gt;
&lt;br /&gt;
==HREF-integráció==&lt;br /&gt;
&lt;br /&gt;
===Metadata beállítása (IdP és SP is)===&lt;br /&gt;
* Az SSP-nél be kell állítani metaadat forrásként a központi metaadatot&lt;br /&gt;
:*Első lépésként engedélyezzük, hogy az SSP automatikusan frissíthesse a metaadatot, ill. az ezt elvégző két modult&lt;br /&gt;
 touch modules/metarefresh/enable&lt;br /&gt;
 cp modules/metarefresh/config-templates/*.php config/&lt;br /&gt;
 touch modules/cron/enable&lt;br /&gt;
 cp modules/cron/config-templates/*.php config/&lt;br /&gt;
&lt;br /&gt;
:*Létrehozunk egy könyvtárat, ahová letöltésre kerül az központi metaadat XML fájlja&lt;br /&gt;
 mkdir metadata/metarefresh-href&lt;br /&gt;
 chmod g+rw metadata/metarefresh-href&lt;br /&gt;
:*Ezek után be kell állítani a metaadat kokrét adatait a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlban&lt;br /&gt;
 $config = array(&lt;br /&gt;
    'sets' =&amp;gt; array(&lt;br /&gt;
        'hu' =&amp;gt; array(&lt;br /&gt;
            'cron'      =&amp;gt; array('hourly'),&lt;br /&gt;
            'sources'   =&amp;gt; array(&lt;br /&gt;
                array(&lt;br /&gt;
                    'src' =&amp;gt; 'http://metadata.eduid.hu/2011/href.xml',&lt;br /&gt;
                    'validateFingerprint' =&amp;gt; 'FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66',&lt;br /&gt;
                    'template' =&amp;gt; array(&lt;br /&gt;
                        'authproc' =&amp;gt; array(&lt;br /&gt;
                            51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                ),&lt;br /&gt;
            ),&lt;br /&gt;
            'expireAfter'       =&amp;gt; 60*60*24*4, // Maximum 4 days cache time.&lt;br /&gt;
            'outputDir'     =&amp;gt; 'metadata/metarefresh-href/',&lt;br /&gt;
            'outputFormat' =&amp;gt; 'flatfile',&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
 );&lt;br /&gt;
:*Be kell állítani, hogy az SSP az automata által generált fájlokból dolgozzon. Ehhez a &amp;lt;code&amp;gt;config/config.php&amp;lt;/code&amp;gt; fájlban keressük ki a &amp;lt;code&amp;gt;metadata.source&amp;lt;/code&amp;gt; szakaszt, és az alábbiak szerint szerkesszük át. Amennyiben nem csak a központi metaadatból szeretnénk dolgozni, úgy további sorokat is megadhatunk itt bemutatott mintájára.&lt;br /&gt;
 'metadata.sources' =&amp;gt; array(&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile'), // IdP esetén kell, itt van az önmagát leíró metadata&lt;br /&gt;
    array('type' =&amp;gt; 'flatfile', 'directory' =&amp;gt; 'metadata/metarefresh-href'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
:*Végül le kell futtatni kézzel a cronjobot, amelyet az SSP webes felületén tudunk megtenni a Configuration fül alatt, a Cron module information page menüpontban. Ekkor létrejönnek a fájlok (majd óránként frissülnek is, ha beállítjuk cronjobként).&lt;br /&gt;
&lt;br /&gt;
==== Metarefresh webszerver nélkül ====&lt;br /&gt;
Sajnos a simpleSAMLphp a nagyon nagy metadata állományok webszerveren keresztüli hívással indított feldolgozásában nem jeleskedik, márpedig az eduGAIN nemzetközi konföderáció metaadata óriási, így érdemes a config-metarefresht parancssoros php-ként meghívni, így a webszerveren keresztül történő futtatás várható időtullépését kiegyszerűsíthetjük a képletből. Ehhez vegyünk fel két külön cronjobot. Az egyik letölti a metadata állományt. A másik pedig helyben elvégzi a feldolgozást.&lt;br /&gt;
&lt;br /&gt;
 5 * * * * www-data wget -nv -q http://metadata.eduid.hu/current/edugain.xml -O /tmp/hrefsigned_edugain.xml &lt;br /&gt;
 10 * * * * www-data /var/simplesamlphp/modules/metarefresh/bin/metarefresh.php -o=metadata/metarefresh-edugain /tmp/hrefsigned_edugain.xml&lt;br /&gt;
&lt;br /&gt;
A második parancs feltételezi hogy a simplesamlphp/metadata/metarefresh-edugain könyvtár létezik és a www-data által írható.&lt;br /&gt;
&lt;br /&gt;
===IdP===&lt;br /&gt;
Amennyiben van SSP alapú IdP-nk, melyet szeretnénk a föderáció részévé tenni, úgy a teendők a következők.&lt;br /&gt;
* (A jelenleg is formálódó adminisztratív teendőktől itt most eltekintünk)&lt;br /&gt;
* Kell küldeni egy levelet a [mailto:aai@niif.hu aai@niif.hu] címre, benne néhány mondat mellett az IdP metaadatának URL-jével (https://example.org/simplesamlphp/saml2/idp/metadata.php)&lt;br /&gt;
* Ha minden rendben megy, akkor az IdP bekerül a [[Resource_Registry]]-be, ezáltal a föderációs metaadatba is.&lt;br /&gt;
* Az előző pontban leírt módon be kell állítani a központi metadata feldolgozását.&lt;br /&gt;
* Amennyiben a föderációs metaadatban már szerepel a mi IdP-nk is, úgy a föderáció valamelyik, tesztelési célokat szolgáló SP-jénél ki is próbálhatjuk a bejelentkezést. &lt;br /&gt;
&lt;br /&gt;
:'''Fontos''', hogy a föderációs Discovery Service óránként generálja újra az IdP-k listáját, így ennyi idő mindenképp szükséges, hogy az új IdP megjelenjen itt, az egyes SP-k pedig két óránként töltik újra a metaadatot, így előfordulhat, hogy azonnal nem fog minden működni, de egy-két óra alatt várhatóan beindul. :)&lt;br /&gt;
&lt;br /&gt;
:Tesztelésre használható oldal: [https://wiki.aai.niif.hu/shibtest.php https://wiki.aai.niif.hu/shibtest.php]&lt;br /&gt;
&lt;br /&gt;
* Ahhoz, hogy a Resource Registry-be is be tudjunk lépni és az IdP további, a föderációra vonatkozó beállításait meg tudjuk ejteni, ehhez az IdP-nek ki kell adnia az alábbi attribútumokat:&lt;br /&gt;
** [[HREFAttributeSpec#mail|mail]] - ez belépés után, manuálisan is beállítható&lt;br /&gt;
** [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]&lt;br /&gt;
** [[HREFAttributeSpec#schacHomeOrganizationType|schacHomeOrganizationType]]&lt;br /&gt;
** [[HREFAttributeSpec#eduScopedAffiliation|eduPersonScopedAffiliation]]&lt;br /&gt;
&lt;br /&gt;
====Attribútumok kezelése====&lt;br /&gt;
Beállított IdP-nk alapértelmezés szerint azokat az attribútumokat adja ki, melyeket a metaadat alapján az SP kért (Lásd a metadatában a RequestedAttribute elemeket), és egyúttal alapból meg tudta szerezni a felhasználói adatbázisból, esetünkben az LDAP-ból. Mivel néhány attribútum nem szerepel az LDAP-ban, hanem az IdP-ben kell előállítani, így pár helyen módosítanunk kell az alapértelmezett konfiguráción.&lt;br /&gt;
&lt;br /&gt;
:1. Az &amp;lt;code&amp;gt;attributemap/name2oid.php&amp;lt;/code&amp;gt; fájlba az 's'-betűhöz szúrjuk be az alábbi sort:&lt;br /&gt;
 'schacHomeOrganizationType' =&amp;gt; 'urn:oid:1.3.6.1.4.1.25178.1.2.10',&lt;br /&gt;
:2. A &amp;lt;code&amp;gt;metadata/saml20-idp-hosted.php&amp;lt;/code&amp;gt; fájlba szerkesszük be az alábbi kódrészlet értelemszerűen módosított változatát. Az &amp;lt;code&amp;gt;'auth' =&amp;gt; 'example-ldap',&amp;lt;/code&amp;gt; sor alatt kezdjük. Fontos, hogy egyúttal a config.php &amp;lt;code&amp;gt;authproc.idp&amp;lt;/code&amp;gt; részét kikommentezzük, nehogy az ottani sorszámokkal megadott default feladatok bekavarjanak.&lt;br /&gt;
&lt;br /&gt;
 'AttributeNameFormat' =&amp;gt; 'urn:oasis:names:tc:SAML:2.0:attrname-format:uri',&lt;br /&gt;
 'userid.attribute' =&amp;gt; 'uid', // Itt adjuk meg, hogy mely, az LDAPból származó attribútum alapján fogja az IdP kiszámítani az eduPersonTargetedID-t&lt;br /&gt;
 'authproc' =&amp;gt; array(&lt;br /&gt;
                10 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'uid' =&amp;gt; 'eduPersonPrincipalName'&lt;br /&gt;
                //Itt az 'uid' az az attribútum az LDAP-ban, amely a felhasználó azonosítóját tartalmazza, mert ebből képezzük az eduPersonPrincipalName-t.&lt;br /&gt;
                ),&lt;br /&gt;
                20 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'schacHomeOrganizationType' =&amp;gt; array('urn:schac:homeOrganizationType:hu:university')&lt;br /&gt;
                //Kötelező statikus attribútum az [[HREFAttributeSpec#schacHomeOrganizationType|intézmény jellegének]] megfelelően&lt;br /&gt;
                ),&lt;br /&gt;
                30 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonPrincipalName már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                40 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAlter',&lt;br /&gt;
                        'subject' =&amp;gt; 'eduPersonAffiliation',&lt;br /&gt;
                        'pattern' =&amp;gt; '/^.*$/',&lt;br /&gt;
                        'replacement' =&amp;gt; '${0}@intezmenydomain.hu',&lt;br /&gt;
                // Itt adjuk hozzá az intézményi scope-ot az eduPersonAffiliation már meglévő értékéhez&lt;br /&gt;
                ),&lt;br /&gt;
                50 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'eduPersonAffiliation' =&amp;gt; 'eduPersonScopedAffiliation'&lt;br /&gt;
                // Az LDAP-ból eduPersonAffiliation-ként érkező attribútumból föderációs elvárásoknak megfelelően eduPersonScopedAffiliationt készítünk&lt;br /&gt;
                ),&lt;br /&gt;
                60 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:AttributeAdd',&lt;br /&gt;
                        'eduPersonScopedAffiliation' =&amp;gt; array('member@intezmenydomain.hu')&lt;br /&gt;
                // Az eduPersonScopedAffiliation-ben tesztelés céljából kiadhatjuk member értéket, így ha LDAP-ból nem jön érték, akkor is láthatjuk, hogy működik az attribútum kiadás &lt;br /&gt;
                ),&lt;br /&gt;
                61 =&amp;gt; array(&lt;br /&gt;
                        'class' =&amp;gt; 'core:TargetedID',&lt;br /&gt;
                        'nameId' =&amp;gt; TRUE,&lt;br /&gt;
                ),&lt;br /&gt;
               // Itt állítjuk be, hogy az IdP előállítson és kiadhasson állandóazonosítóként eduPersonTargetedID-t, ha kérik&lt;br /&gt;
                70 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap',&lt;br /&gt;
                        'name2oid'&lt;br /&gt;
                // Az LDAP-os attribútum nevekből itt kreálunk szabványos urn:oid formátumúakat&lt;br /&gt;
                ),&lt;br /&gt;
        ),&lt;br /&gt;
       'simplesaml.nameidattribute' =&amp;gt; 'eduPersonPrincipalName',&lt;br /&gt;
       'attributeencodings' =&amp;gt; array(&lt;br /&gt;
               'urn:oid:1.3.6.1.4.1.5923.1.1.1.10' =&amp;gt; 'raw',&lt;br /&gt;
        ),&lt;br /&gt;
        'sign.logout' =&amp;gt; true&lt;br /&gt;
&lt;br /&gt;
: További tudnivalók a [[Resource_Registry|Resource Registry-ről]], ill. a [[HREFAttributeSpec|Föderációs attribútum specifikációról]].&lt;br /&gt;
&lt;br /&gt;
* Ha minden rendben ment, akkor a Resource Registry-ben regisztrált IdP-hez tartozó adminisztrációs jogok átkerülnek az IdP technikai gazdájához, s ezzel a folyamat kész is.&lt;br /&gt;
&lt;br /&gt;
===SP===&lt;br /&gt;
Amennyiben IdP-t is beállítottunk, és be is tudunk lépni a Resource Registry-be, úgy nincs más dolgunk, mint az RR-ben új SP-t hozzáadni a föderációhoz, amely a megfelelő átfutási idő után a föderáció minden tagjánál látható is lesz.&lt;br /&gt;
&lt;br /&gt;
Ellenkező esetben (nincs IdP, és nem is tervezünk beállítani), akkor az IdP hozzáadásánál részletezett pontokon kell végig menni a metaadat betöltéséig, s a továbbiakat az említett e-mail címen megbeszélni.&lt;br /&gt;
&lt;br /&gt;
====Attribútum scopeok használata====&lt;br /&gt;
A HREF föderáció IdP-i ún. scopeolt attribútumokat is használnak. Ez a scopeolás azt jelenti, hogy minden egyes IdP csak a saját scopejában ad ki attribútumokat, és a Shibboleth SP-k ezt ellenőrzik is. A scope és az attribútum valódi értéke egy '@' karakterrel kerül elválasztásra (ilyen attribútumok jelenleg: [[HREFAttributeSpec#eduPersonAffiliation|eduPersonScopedAffiliation]] illetve [[HREFAttributeSpec#eduPersonPrincipalName|eduPersonPrincipalName]]).&lt;br /&gt;
&lt;br /&gt;
A SimpleSAMLphp alapértelmezett telepítése nem szűri a hibásan scopeolt értékeket. Kiegészítő modulként szűrésre használható az NIIF által fejlesztett [https://repo.niif.hu/gitweb/gitweb.cgi?p=simplesamlphp-attributescope.git;a=summary attributescope modul], ami reményeink szerint rövid távon a hivatalos SimpleSAMLphp kiadás része lehet.&lt;br /&gt;
&lt;br /&gt;
: Az &amp;lt;code&amp;gt;attributescope&amp;lt;/code&amp;gt; modul használata esetén a következőképp kell módosítani a &amp;lt;code&amp;gt;config/config-metarefresh.php&amp;lt;/code&amp;gt; fájlt:&lt;br /&gt;
&lt;br /&gt;
 'template' =&amp;gt; array(&lt;br /&gt;
   'authproc' =&amp;gt; array(&lt;br /&gt;
     51 =&amp;gt; array('class' =&amp;gt; 'core:AttributeMap', 'oid2name'),&lt;br /&gt;
     55 =&amp;gt; array('class' =&amp;gt; 'attributescope:FilterAttributes'),&lt;br /&gt;
   ),&lt;br /&gt;
   'scopedattributes' =&amp;gt; array('eduPersonScopedAffiliation', 'eduPersonPrincipalName'),&lt;br /&gt;
 ),&lt;br /&gt;
&lt;br /&gt;
[[Category: AAI]] [[Category: simpleSAMLphp]] [[Category: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gyufi(AT)niif.hu</name></author>	</entry>

	</feed>