<?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=Cstamas%28AT%29digitus.itk.ppke.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=Cstamas%28AT%29digitus.itk.ppke.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/Cstamas(AT)digitus.itk.ppke.hu"/>
		<updated>2026-11-07T22:18:33Z</updated>
		<subtitle>Szerkesztő közreműködései</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=NeptunLdapSync&amp;diff=1910</id>
		<title>NeptunLdapSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=NeptunLdapSync&amp;diff=1910"/>
				<updated>2010-08-11T19:56:38Z</updated>
		
		<summary type="html">&lt;p&gt;Cstamas(AT)digitus.itk.ppke.hu: /* Implementációk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az NIIF Intézet által fejlesztett szinkronizációs folyamat alkalmas arra, hogy Neptunban tárolt felhasználók (hallgatók, oktatók, dolgozók) adatait egy névtárba szinkronizálja. Természetesen lehetséges a névtárat más forrásokból is módosítani (pl. a dolgozói adatok sokhelyütt nem a Neptunban tárolódnak), ezzel a szinkronizációs program nem foglalkozik.&lt;br /&gt;
&lt;br /&gt;
Az NIIF Intézet referencia implementációjának leírása [[NeptunLdapSyncImpl|itt található]]&lt;br /&gt;
&lt;br /&gt;
== Feltételezések ==&lt;br /&gt;
* A Neptun tartalmazza az SDA által kifejlesztett szinkronizációs webservice-t (ezt jelen pillanatban az SDA-tól kérni kell)&lt;br /&gt;
* A Neptun ezen kívül biztosít egy olyan webservice-t is, amely ellenőrizni tud egy neptunkódhoz tartozó jelszót (információink szerint ilyet néhány helyen biztosít az SDA)&lt;br /&gt;
* Létezik egy vagy több - az intézmény által fejlesztett vagy üzembe állított - webes adminisztrációs alkalmazás, ahol a felhasználók a Neptun jelszavuk birtokában tudnak maguk számára&lt;br /&gt;
** LDAP jelszót generálni (a neptunos jelszó '''nem''' szinkronizálódik az LDAP-ba)&lt;br /&gt;
** LDAP jelszót megváltoztatni&lt;br /&gt;
** LDAP azonosítót generálni (opcionális, az intézmény algoritmikusan generált azonosítókat is alkalmazhat)&lt;br /&gt;
** további LDAP attribútumokat generáltatni (pl. levelezéshez, Unix bejelentkezéshez stb.)&lt;br /&gt;
&lt;br /&gt;
== Felhasználó életciklusa ==&lt;br /&gt;
# Neptun felhasználói bejegyzés létrehozása (részletek nélkül)&lt;br /&gt;
# Felhasználói adatok szinkronizálása az LDAP-ba&lt;br /&gt;
# LDAP jelszó aktiválása&lt;br /&gt;
# Neptun adatok változásának szinkronizációja&lt;br /&gt;
#* személyi adatok&lt;br /&gt;
#* státusz adatok&lt;br /&gt;
#* szervezeti kapcsolódás adatai&lt;br /&gt;
#* oktatási adatok&lt;br /&gt;
# ''(opcionális)'' POSIX attribútumok generálása&lt;br /&gt;
# ''(opcionális)'' Elfelejtett LDAP jelszó újragenerálása Neptun autentikáció után&lt;br /&gt;
# Neptun státusz adatok alapján passzív / kilépett státuszba helyezés&lt;br /&gt;
# LDAP bejegyzés törlése&lt;br /&gt;
== Részletek ==&lt;br /&gt;
=== Attribútum mapping ===&lt;br /&gt;
&lt;br /&gt;
==== Azonosító adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Neptun kód || niifPersonOrgID ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Személyi adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Vezetéknév || sn ||&lt;br /&gt;
|-&lt;br /&gt;
| Keresztnév || givenName ||&lt;br /&gt;
|-&lt;br /&gt;
| Teljes név || cn ||&lt;br /&gt;
|-&lt;br /&gt;
| Titulus || title || pl. Dr.&lt;br /&gt;
|-&lt;br /&gt;
| Telefonszám || telephoneNumber, mobile, fax || A mobiltelefonszámot érdemes külön LDAP attribútumban tárolni a többi telefonszámtól. Speciális konverziós logika szükséges lehet (például az elválasztó karakterek törlése).&lt;br /&gt;
|-&lt;br /&gt;
| E-mail cím || mail ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Státusz adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Hallgatói státusz || eduPersonAffiliation={'student', 'member'} || Ha van hozzá olyan képzés, aminek hallgatója&lt;br /&gt;
|-&lt;br /&gt;
| Oktatói státusz || eduPersonAffiliation={'faculty', 'member'} || Ha az elmúlt N évben volt kurzushoz kapcsolódása&lt;br /&gt;
|-&lt;br /&gt;
| Alkalmazotti státusz || eduPersonAffiliation={'employee', 'staff', 'member'} || Ha alkalmazott&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Metaadatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Bejegyzés archiválásának időpontja || schacExpiryDate || Azon időpont, amikor a bejegyzést az aktív felhasználók közül el kell távolítani, ezután semmilyen szolgáltatáshoz nem férhet hozzá&lt;br /&gt;
|-&lt;br /&gt;
| Egyéb státuszok || schacUserStatus || Pl. az intézményhez fűződő viszonya (meddig tart), bizonyos szolgáltatásokat meddig érhet el, stb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Szervezeti kapcsolódások ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Kar || niifEduPersonFaculty(DN) || Képzés kar szabadszöveges megnevezése (kódja) - csak hallgatóknál&lt;br /&gt;
|-&lt;br /&gt;
| Szak || niifEduPersonMajor || Képzés szak szabadszöveges megnevezése - csak hallgatóknál&lt;br /&gt;
|-&lt;br /&gt;
| Egyéb szervezeti egység || eduPersonOrgUnitDN || Pl tanszék, intézet, kollégium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Oktatási adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Aktívan oktatott tárgyak listája || niifEduPersonHeldCourse || Azon tárgykódok listája, melynek az elmúlt 1 évben indult olyan kurzusa, amit az adott oktató tartott&lt;br /&gt;
|-&lt;br /&gt;
| Tárgyfelelős || eduPersonEntitlement? || Azon tárgykódok listája, melynek az oktató jelenleg tárgyfelelőse&lt;br /&gt;
|-&lt;br /&gt;
| Aktuális félévben hallgatott tárgyak listája || niifEduPersonAttendedCourse || &lt;br /&gt;
|-&lt;br /&gt;
| Valaha hallgatott tárgyak listája || niifEduPersonArchiveCourse || Aktuális félév tárgyai is&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Jelszó beállító felület ===&lt;br /&gt;
=== Törlési folyamat ===&lt;br /&gt;
=== Státusz ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Szinkronizáció ==&lt;br /&gt;
A Neptun és az LDAP közötti szinkronizációt az LDAP oldali szinkronizáló szkript indítja.&lt;br /&gt;
&lt;br /&gt;
=== Neptun interfészek ===&lt;br /&gt;
A szinkronizálás a Neptun által biztosított XML Webszolgáltatáson keresztül valósul meg. A legtöbb művelet két paramétert fogad: időbélyeg illetve Neptun lista - mindkettő opcionális. Amennyiben az időbélyeg szerepel, csak a megadott időpont óta módosult rekordok kerülnek át. A Neptun lista megadása az adott bejegyzésekre szűkíti az eredményt.&lt;br /&gt;
&lt;br /&gt;
Fontos, hogy pl. a személyi adatoknál az időbélyeg a Neptun-ban a teljes rekordra értelmezett, tehát nem csak a szinkronizálni kívánt adatok triggerelik a változását.&lt;br /&gt;
&lt;br /&gt;
* Szervezeti struktúra&lt;br /&gt;
** paraméterek: nincs&lt;br /&gt;
** visszatérés: szervezeti egységek fastruktúrája (egységenként: kód, szerv. egység neve, típusa)&lt;br /&gt;
** ritka szinkronizálás (félévente)&lt;br /&gt;
* Neptun kódok és státuszok &lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kód, hallgatói státusz, oktatói státusz, alkalmazotti státusz&lt;br /&gt;
** gyakori szinkronizálás (legalább naponta)&lt;br /&gt;
* Személyi adatok&lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kódhoz tartozó személyi adatok&lt;br /&gt;
** gyakori szinkronizálás (naponta)&lt;br /&gt;
* Szervezeti kapcsolódás&lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kódhoz tartozó szervezeti egységek kódja&lt;br /&gt;
** ritka szinkronizálás (félévente)&lt;br /&gt;
* Oktatási adatok&lt;br /&gt;
** paraméterek: Neptun lista&lt;br /&gt;
** visszatérés: minden megadott neptun kódhoz az összes oktatási adat (nem csak a változások)&lt;br /&gt;
** ritka szinkronizálás (szorgalmi időszakban hetente, tárgyjelentkezési időszak kezdetétől regisztrációs hét végéig nincs szinkronizálás)&lt;br /&gt;
&lt;br /&gt;
= Implementációk =&lt;br /&gt;
* [[NeptunLdapSyncImpl|NIIF szinkronizáció implementáció (PHP)]]&lt;br /&gt;
* [[NeptunWebservicePPKE|Neptun webservice szinkronizációs próbálkozások a PPKE-n]]&lt;/div&gt;</summary>
		<author><name>Cstamas(AT)digitus.itk.ppke.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=NeptunLdapSync&amp;diff=1909</id>
		<title>NeptunLdapSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=NeptunLdapSync&amp;diff=1909"/>
				<updated>2010-08-11T19:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;Cstamas(AT)digitus.itk.ppke.hu: /* Implementációk */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az NIIF Intézet által fejlesztett szinkronizációs folyamat alkalmas arra, hogy Neptunban tárolt felhasználók (hallgatók, oktatók, dolgozók) adatait egy névtárba szinkronizálja. Természetesen lehetséges a névtárat más forrásokból is módosítani (pl. a dolgozói adatok sokhelyütt nem a Neptunban tárolódnak), ezzel a szinkronizációs program nem foglalkozik.&lt;br /&gt;
&lt;br /&gt;
Az NIIF Intézet referencia implementációjának leírása [[NeptunLdapSyncImpl|itt található]]&lt;br /&gt;
&lt;br /&gt;
== Feltételezések ==&lt;br /&gt;
* A Neptun tartalmazza az SDA által kifejlesztett szinkronizációs webservice-t (ezt jelen pillanatban az SDA-tól kérni kell)&lt;br /&gt;
* A Neptun ezen kívül biztosít egy olyan webservice-t is, amely ellenőrizni tud egy neptunkódhoz tartozó jelszót (információink szerint ilyet néhány helyen biztosít az SDA)&lt;br /&gt;
* Létezik egy vagy több - az intézmény által fejlesztett vagy üzembe állított - webes adminisztrációs alkalmazás, ahol a felhasználók a Neptun jelszavuk birtokában tudnak maguk számára&lt;br /&gt;
** LDAP jelszót generálni (a neptunos jelszó '''nem''' szinkronizálódik az LDAP-ba)&lt;br /&gt;
** LDAP jelszót megváltoztatni&lt;br /&gt;
** LDAP azonosítót generálni (opcionális, az intézmény algoritmikusan generált azonosítókat is alkalmazhat)&lt;br /&gt;
** további LDAP attribútumokat generáltatni (pl. levelezéshez, Unix bejelentkezéshez stb.)&lt;br /&gt;
&lt;br /&gt;
== Felhasználó életciklusa ==&lt;br /&gt;
# Neptun felhasználói bejegyzés létrehozása (részletek nélkül)&lt;br /&gt;
# Felhasználói adatok szinkronizálása az LDAP-ba&lt;br /&gt;
# LDAP jelszó aktiválása&lt;br /&gt;
# Neptun adatok változásának szinkronizációja&lt;br /&gt;
#* személyi adatok&lt;br /&gt;
#* státusz adatok&lt;br /&gt;
#* szervezeti kapcsolódás adatai&lt;br /&gt;
#* oktatási adatok&lt;br /&gt;
# ''(opcionális)'' POSIX attribútumok generálása&lt;br /&gt;
# ''(opcionális)'' Elfelejtett LDAP jelszó újragenerálása Neptun autentikáció után&lt;br /&gt;
# Neptun státusz adatok alapján passzív / kilépett státuszba helyezés&lt;br /&gt;
# LDAP bejegyzés törlése&lt;br /&gt;
== Részletek ==&lt;br /&gt;
=== Attribútum mapping ===&lt;br /&gt;
&lt;br /&gt;
==== Azonosító adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Neptun kód || niifPersonOrgID ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Személyi adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Vezetéknév || sn ||&lt;br /&gt;
|-&lt;br /&gt;
| Keresztnév || givenName ||&lt;br /&gt;
|-&lt;br /&gt;
| Teljes név || cn ||&lt;br /&gt;
|-&lt;br /&gt;
| Titulus || title || pl. Dr.&lt;br /&gt;
|-&lt;br /&gt;
| Telefonszám || telephoneNumber, mobile, fax || A mobiltelefonszámot érdemes külön LDAP attribútumban tárolni a többi telefonszámtól. Speciális konverziós logika szükséges lehet (például az elválasztó karakterek törlése).&lt;br /&gt;
|-&lt;br /&gt;
| E-mail cím || mail ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Státusz adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Hallgatói státusz || eduPersonAffiliation={'student', 'member'} || Ha van hozzá olyan képzés, aminek hallgatója&lt;br /&gt;
|-&lt;br /&gt;
| Oktatói státusz || eduPersonAffiliation={'faculty', 'member'} || Ha az elmúlt N évben volt kurzushoz kapcsolódása&lt;br /&gt;
|-&lt;br /&gt;
| Alkalmazotti státusz || eduPersonAffiliation={'employee', 'staff', 'member'} || Ha alkalmazott&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Metaadatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Bejegyzés archiválásának időpontja || schacExpiryDate || Azon időpont, amikor a bejegyzést az aktív felhasználók közül el kell távolítani, ezután semmilyen szolgáltatáshoz nem férhet hozzá&lt;br /&gt;
|-&lt;br /&gt;
| Egyéb státuszok || schacUserStatus || Pl. az intézményhez fűződő viszonya (meddig tart), bizonyos szolgáltatásokat meddig érhet el, stb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Szervezeti kapcsolódások ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Kar || niifEduPersonFaculty(DN) || Képzés kar szabadszöveges megnevezése (kódja) - csak hallgatóknál&lt;br /&gt;
|-&lt;br /&gt;
| Szak || niifEduPersonMajor || Képzés szak szabadszöveges megnevezése - csak hallgatóknál&lt;br /&gt;
|-&lt;br /&gt;
| Egyéb szervezeti egység || eduPersonOrgUnitDN || Pl tanszék, intézet, kollégium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Oktatási adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Aktívan oktatott tárgyak listája || niifEduPersonHeldCourse || Azon tárgykódok listája, melynek az elmúlt 1 évben indult olyan kurzusa, amit az adott oktató tartott&lt;br /&gt;
|-&lt;br /&gt;
| Tárgyfelelős || eduPersonEntitlement? || Azon tárgykódok listája, melynek az oktató jelenleg tárgyfelelőse&lt;br /&gt;
|-&lt;br /&gt;
| Aktuális félévben hallgatott tárgyak listája || niifEduPersonAttendedCourse || &lt;br /&gt;
|-&lt;br /&gt;
| Valaha hallgatott tárgyak listája || niifEduPersonArchiveCourse || Aktuális félév tárgyai is&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Jelszó beállító felület ===&lt;br /&gt;
=== Törlési folyamat ===&lt;br /&gt;
=== Státusz ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Szinkronizáció ==&lt;br /&gt;
A Neptun és az LDAP közötti szinkronizációt az LDAP oldali szinkronizáló szkript indítja.&lt;br /&gt;
&lt;br /&gt;
=== Neptun interfészek ===&lt;br /&gt;
A szinkronizálás a Neptun által biztosított XML Webszolgáltatáson keresztül valósul meg. A legtöbb művelet két paramétert fogad: időbélyeg illetve Neptun lista - mindkettő opcionális. Amennyiben az időbélyeg szerepel, csak a megadott időpont óta módosult rekordok kerülnek át. A Neptun lista megadása az adott bejegyzésekre szűkíti az eredményt.&lt;br /&gt;
&lt;br /&gt;
Fontos, hogy pl. a személyi adatoknál az időbélyeg a Neptun-ban a teljes rekordra értelmezett, tehát nem csak a szinkronizálni kívánt adatok triggerelik a változását.&lt;br /&gt;
&lt;br /&gt;
* Szervezeti struktúra&lt;br /&gt;
** paraméterek: nincs&lt;br /&gt;
** visszatérés: szervezeti egységek fastruktúrája (egységenként: kód, szerv. egység neve, típusa)&lt;br /&gt;
** ritka szinkronizálás (félévente)&lt;br /&gt;
* Neptun kódok és státuszok &lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kód, hallgatói státusz, oktatói státusz, alkalmazotti státusz&lt;br /&gt;
** gyakori szinkronizálás (legalább naponta)&lt;br /&gt;
* Személyi adatok&lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kódhoz tartozó személyi adatok&lt;br /&gt;
** gyakori szinkronizálás (naponta)&lt;br /&gt;
* Szervezeti kapcsolódás&lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kódhoz tartozó szervezeti egységek kódja&lt;br /&gt;
** ritka szinkronizálás (félévente)&lt;br /&gt;
* Oktatási adatok&lt;br /&gt;
** paraméterek: Neptun lista&lt;br /&gt;
** visszatérés: minden megadott neptun kódhoz az összes oktatási adat (nem csak a változások)&lt;br /&gt;
** ritka szinkronizálás (szorgalmi időszakban hetente, tárgyjelentkezési időszak kezdetétől regisztrációs hét végéig nincs szinkronizálás)&lt;br /&gt;
&lt;br /&gt;
= Implementációk =&lt;br /&gt;
* [[NeptunLdapSyncImpl|NIIF szinkronizáció implementáció (PHP)]]&lt;br /&gt;
* [[NeptunLdapSyncWSatPPKE|Neptun webservice szinkronizációs próbálkozások a PPKE-n]]&lt;/div&gt;</summary>
		<author><name>Cstamas(AT)digitus.itk.ppke.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=NeptunLdapSync&amp;diff=1908</id>
		<title>NeptunLdapSync</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=NeptunLdapSync&amp;diff=1908"/>
				<updated>2010-08-11T19:54:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cstamas(AT)digitus.itk.ppke.hu: /* Implementációk */ PPKE link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Az NIIF Intézet által fejlesztett szinkronizációs folyamat alkalmas arra, hogy Neptunban tárolt felhasználók (hallgatók, oktatók, dolgozók) adatait egy névtárba szinkronizálja. Természetesen lehetséges a névtárat más forrásokból is módosítani (pl. a dolgozói adatok sokhelyütt nem a Neptunban tárolódnak), ezzel a szinkronizációs program nem foglalkozik.&lt;br /&gt;
&lt;br /&gt;
Az NIIF Intézet referencia implementációjának leírása [[NeptunLdapSyncImpl|itt található]]&lt;br /&gt;
&lt;br /&gt;
== Feltételezések ==&lt;br /&gt;
* A Neptun tartalmazza az SDA által kifejlesztett szinkronizációs webservice-t (ezt jelen pillanatban az SDA-tól kérni kell)&lt;br /&gt;
* A Neptun ezen kívül biztosít egy olyan webservice-t is, amely ellenőrizni tud egy neptunkódhoz tartozó jelszót (információink szerint ilyet néhány helyen biztosít az SDA)&lt;br /&gt;
* Létezik egy vagy több - az intézmény által fejlesztett vagy üzembe állított - webes adminisztrációs alkalmazás, ahol a felhasználók a Neptun jelszavuk birtokában tudnak maguk számára&lt;br /&gt;
** LDAP jelszót generálni (a neptunos jelszó '''nem''' szinkronizálódik az LDAP-ba)&lt;br /&gt;
** LDAP jelszót megváltoztatni&lt;br /&gt;
** LDAP azonosítót generálni (opcionális, az intézmény algoritmikusan generált azonosítókat is alkalmazhat)&lt;br /&gt;
** további LDAP attribútumokat generáltatni (pl. levelezéshez, Unix bejelentkezéshez stb.)&lt;br /&gt;
&lt;br /&gt;
== Felhasználó életciklusa ==&lt;br /&gt;
# Neptun felhasználói bejegyzés létrehozása (részletek nélkül)&lt;br /&gt;
# Felhasználói adatok szinkronizálása az LDAP-ba&lt;br /&gt;
# LDAP jelszó aktiválása&lt;br /&gt;
# Neptun adatok változásának szinkronizációja&lt;br /&gt;
#* személyi adatok&lt;br /&gt;
#* státusz adatok&lt;br /&gt;
#* szervezeti kapcsolódás adatai&lt;br /&gt;
#* oktatási adatok&lt;br /&gt;
# ''(opcionális)'' POSIX attribútumok generálása&lt;br /&gt;
# ''(opcionális)'' Elfelejtett LDAP jelszó újragenerálása Neptun autentikáció után&lt;br /&gt;
# Neptun státusz adatok alapján passzív / kilépett státuszba helyezés&lt;br /&gt;
# LDAP bejegyzés törlése&lt;br /&gt;
== Részletek ==&lt;br /&gt;
=== Attribútum mapping ===&lt;br /&gt;
&lt;br /&gt;
==== Azonosító adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Neptun kód || niifPersonOrgID ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Személyi adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Vezetéknév || sn ||&lt;br /&gt;
|-&lt;br /&gt;
| Keresztnév || givenName ||&lt;br /&gt;
|-&lt;br /&gt;
| Teljes név || cn ||&lt;br /&gt;
|-&lt;br /&gt;
| Titulus || title || pl. Dr.&lt;br /&gt;
|-&lt;br /&gt;
| Telefonszám || telephoneNumber, mobile, fax || A mobiltelefonszámot érdemes külön LDAP attribútumban tárolni a többi telefonszámtól. Speciális konverziós logika szükséges lehet (például az elválasztó karakterek törlése).&lt;br /&gt;
|-&lt;br /&gt;
| E-mail cím || mail ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Státusz adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Hallgatói státusz || eduPersonAffiliation={'student', 'member'} || Ha van hozzá olyan képzés, aminek hallgatója&lt;br /&gt;
|-&lt;br /&gt;
| Oktatói státusz || eduPersonAffiliation={'faculty', 'member'} || Ha az elmúlt N évben volt kurzushoz kapcsolódása&lt;br /&gt;
|-&lt;br /&gt;
| Alkalmazotti státusz || eduPersonAffiliation={'employee', 'staff', 'member'} || Ha alkalmazott&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Metaadatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Bejegyzés archiválásának időpontja || schacExpiryDate || Azon időpont, amikor a bejegyzést az aktív felhasználók közül el kell távolítani, ezután semmilyen szolgáltatáshoz nem férhet hozzá&lt;br /&gt;
|-&lt;br /&gt;
| Egyéb státuszok || schacUserStatus || Pl. az intézményhez fűződő viszonya (meddig tart), bizonyos szolgáltatásokat meddig érhet el, stb&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Szervezeti kapcsolódások ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Kar || niifEduPersonFaculty(DN) || Képzés kar szabadszöveges megnevezése (kódja) - csak hallgatóknál&lt;br /&gt;
|-&lt;br /&gt;
| Szak || niifEduPersonMajor || Képzés szak szabadszöveges megnevezése - csak hallgatóknál&lt;br /&gt;
|-&lt;br /&gt;
| Egyéb szervezeti egység || eduPersonOrgUnitDN || Pl tanszék, intézet, kollégium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Oktatási adatok ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; width=&amp;quot;90%&amp;quot;&lt;br /&gt;
! Attribútum !! LDAP Attribútum !! Megjegyzés&lt;br /&gt;
|-&lt;br /&gt;
| Aktívan oktatott tárgyak listája || niifEduPersonHeldCourse || Azon tárgykódok listája, melynek az elmúlt 1 évben indult olyan kurzusa, amit az adott oktató tartott&lt;br /&gt;
|-&lt;br /&gt;
| Tárgyfelelős || eduPersonEntitlement? || Azon tárgykódok listája, melynek az oktató jelenleg tárgyfelelőse&lt;br /&gt;
|-&lt;br /&gt;
| Aktuális félévben hallgatott tárgyak listája || niifEduPersonAttendedCourse || &lt;br /&gt;
|-&lt;br /&gt;
| Valaha hallgatott tárgyak listája || niifEduPersonArchiveCourse || Aktuális félév tárgyai is&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Jelszó beállító felület ===&lt;br /&gt;
=== Törlési folyamat ===&lt;br /&gt;
=== Státusz ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Szinkronizáció ==&lt;br /&gt;
A Neptun és az LDAP közötti szinkronizációt az LDAP oldali szinkronizáló szkript indítja.&lt;br /&gt;
&lt;br /&gt;
=== Neptun interfészek ===&lt;br /&gt;
A szinkronizálás a Neptun által biztosított XML Webszolgáltatáson keresztül valósul meg. A legtöbb művelet két paramétert fogad: időbélyeg illetve Neptun lista - mindkettő opcionális. Amennyiben az időbélyeg szerepel, csak a megadott időpont óta módosult rekordok kerülnek át. A Neptun lista megadása az adott bejegyzésekre szűkíti az eredményt.&lt;br /&gt;
&lt;br /&gt;
Fontos, hogy pl. a személyi adatoknál az időbélyeg a Neptun-ban a teljes rekordra értelmezett, tehát nem csak a szinkronizálni kívánt adatok triggerelik a változását.&lt;br /&gt;
&lt;br /&gt;
* Szervezeti struktúra&lt;br /&gt;
** paraméterek: nincs&lt;br /&gt;
** visszatérés: szervezeti egységek fastruktúrája (egységenként: kód, szerv. egység neve, típusa)&lt;br /&gt;
** ritka szinkronizálás (félévente)&lt;br /&gt;
* Neptun kódok és státuszok &lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kód, hallgatói státusz, oktatói státusz, alkalmazotti státusz&lt;br /&gt;
** gyakori szinkronizálás (legalább naponta)&lt;br /&gt;
* Személyi adatok&lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kódhoz tartozó személyi adatok&lt;br /&gt;
** gyakori szinkronizálás (naponta)&lt;br /&gt;
* Szervezeti kapcsolódás&lt;br /&gt;
** paraméterek: opc. időbélyeg, opc. Neptun lista&lt;br /&gt;
** visszatérés: Neptun kódhoz tartozó szervezeti egységek kódja&lt;br /&gt;
** ritka szinkronizálás (félévente)&lt;br /&gt;
* Oktatási adatok&lt;br /&gt;
** paraméterek: Neptun lista&lt;br /&gt;
** visszatérés: minden megadott neptun kódhoz az összes oktatási adat (nem csak a változások)&lt;br /&gt;
** ritka szinkronizálás (szorgalmi időszakban hetente, tárgyjelentkezési időszak kezdetétől regisztrációs hét végéig nincs szinkronizálás)&lt;br /&gt;
&lt;br /&gt;
= Implementációk =&lt;br /&gt;
* [[NeptunLdapSyncImpl|NIIF szinkronizáció implementáció (PHP)]]&lt;br /&gt;
* [[NeptunLdapSyncImplPPKE|Neptun webservice szinkronizációs próbálkozások a PPKE-n]]&lt;/div&gt;</summary>
		<author><name>Cstamas(AT)digitus.itk.ppke.hu</name></author>	</entry>

	<entry>
		<id>https://wiki.niif.hu/index.php?title=Shib2IdpInstall&amp;diff=1681</id>
		<title>Shib2IdpInstall</title>
		<link rel="alternate" type="text/html" href="https://wiki.niif.hu/index.php?title=Shib2IdpInstall&amp;diff=1681"/>
				<updated>2010-04-20T09:44:56Z</updated>
		
		<summary type="html">&lt;p&gt;Cstamas(AT)digitus.itk.ppke.hu: újrapróbálkozások számát növeltem a svájci példa alapján&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Előkészületek ==&lt;br /&gt;
=== entityID ===&lt;br /&gt;
Fontos, hogy az entityID '''egyedi''' és '''állandó''' legyen. Javasolt forma: '''&amp;lt;code&amp;gt;https://idp.intezmenyneve.hu/idp/shibboleth&amp;lt;/code&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
=== Tűzfal ===&lt;br /&gt;
Be kell engedni a 443-as és a 8443-as portokat. Ha nagyon szigorúan vesszük, akkor a 8443-as portot elegendő csak a szóbajöhető SP-kről beengedni, de ezzel általában nem vagyunk tisztában, ezért célszerű a &amp;quot;nagyvilágból&amp;quot; beengedni. Biztonsági szempontból nem sok különbség van a 443-as és a 8443-as porton elérhető alkalmazások között.&lt;br /&gt;
&lt;br /&gt;
== JDK ==&lt;br /&gt;
Debian Lenny alatt a &amp;lt;code&amp;gt;sun-java6-jdk&amp;lt;/code&amp;gt; csomagot kell feltelepíteni. Telepítés előtt érdemes az aptitude-ban kikapcsolni az opcionális függőségek telepítését.&lt;br /&gt;
&lt;br /&gt;
 aptitude install sun-java6-jdk&lt;br /&gt;
&lt;br /&gt;
Állítsuk be, a &amp;lt;code&amp;gt;JAVA_HOME&amp;lt;/code&amp;gt; környezeti változót!&lt;br /&gt;
 export JAVA_HOME=/usr/lib/jvm/java-6-sun&lt;br /&gt;
&lt;br /&gt;
{{ATTENTION|Az &amp;lt;code&amp;gt;openjdk-6-jdk&amp;lt;/code&amp;gt; csomag használata esetén ne felejtsük feltenni a &amp;lt;code&amp;gt;ca-certificates-java&amp;lt;/code&amp;gt; csomagot, anélkül ugyanis hibát fogunk kapni az IdP indításakor!}}&lt;br /&gt;
&lt;br /&gt;
=== Shibboleth security provider ===&lt;br /&gt;
{{INFO|A Shibboleth Security Provider csak akkor szükséges, ha a Java alkalmazásszerver (Tomcat) önállóan fog kéréseket feldolgozni és nem kerül elé proxy (Apache)}}&lt;br /&gt;
&lt;br /&gt;
Be kell másolni a &amp;lt;code&amp;gt;lib/shib-jce-1.0.jar&amp;lt;/code&amp;gt; állományt a &amp;lt;code&amp;gt;$JAVA_HOME/jre/lib/ext&amp;lt;/code&amp;gt; könyvtárba. Ha  az &amp;lt;code&amp;gt;ext/&amp;lt;/code&amp;gt; könyvtár nem létezik, akkor hozzuk létre.&lt;br /&gt;
 cp lib/shib-jce-1.0.jar $JAVA_HOME/jre/lib/ext&lt;br /&gt;
&lt;br /&gt;
Ezek után be kell állítani, hogy a JRE használni is tudja ezt a providert. Ehhez a &amp;lt;code&amp;gt;$JAVA_HOME/jre/lib/security/java.security&amp;lt;/code&amp;gt; fájlban keressük meg az ún. &amp;quot;security provider&amp;quot;-eket, és írjuk hozzá a következő sort:&lt;br /&gt;
 security.provider.&amp;lt;b&amp;gt;7&amp;lt;/b&amp;gt;=edu.internet2.middleware.shibboleth.DelegateToApplicationProvider&lt;br /&gt;
: '''Megj.:''' a &amp;quot;security.provider.&amp;quot; után következő szám mindig a megelőzőnél legyen eggyel nagyobb!&lt;br /&gt;
&lt;br /&gt;
=== Bouncy Castle JCE ===&lt;br /&gt;
{{UNCERTAIN|Az alábbi leírás az 5-ös JVM-hez készült, 6-os JVM esetén erre nem biztos hogy szükség van.}}&lt;br /&gt;
&lt;br /&gt;
A JVM-mel jövő Java Cryptography Engine (JCE) nem támogatja az összes kriptográfiai algoritmust, amelyre az Identity Providernek szüksége lehet (pl. XML Digital Signature, XML Encryption). A Bouncy Castle JCE ezek mellett még olyan algoritmusokat is tartalmaz (általában hatékonyabb és szabványosabb formában), amelyek benne vannak a Java JCE-ben.&lt;br /&gt;
&lt;br /&gt;
Ehhez először le kell tölteni a [http://www.bouncycastle.org/latest_releases.html Bouncy Castle JCE-t]. A JCE állományok a Provider oszlopban, a &amp;quot;Signed Jar Files&amp;quot; részben találhatók. (A nevük &amp;lt;code&amp;gt;bcprov-jdk-VERZIO.jar&amp;lt;/code&amp;gt;.) Letöltés után a .jar fájlokat a &amp;lt;code&amp;gt;$JAVA_HOME/jre/lib/ext&amp;lt;/code&amp;gt; könyvtárba kell tenni.&lt;br /&gt;
&lt;br /&gt;
 wget http://www.bouncycastle.org/download/bcprov-jdk15-141.jar&lt;br /&gt;
 cp bcprov-jdk15-141.jar $JAVA_HOME/jre/lib/ext&lt;br /&gt;
&lt;br /&gt;
Ezek után be kell állítani, hogy a JRE használni is tudja ezt a providert. Ehhez a &amp;lt;code&amp;gt;$JAVA_HOME/jre/lib/security/java.security&amp;lt;/code&amp;gt; fájlban keressük meg az ún. &amp;quot;security provider&amp;quot;-eket, és írjuk hozzá a következő sort:&lt;br /&gt;
 security.provider.&amp;lt;b&amp;gt;8&amp;lt;/b&amp;gt;=org.bouncycastle.jce.provider.BouncyCastleProvider&lt;br /&gt;
: '''Megj.:''' a &amp;quot;security.provider.&amp;quot; után következő szám mindig a megelőzőnél legyen eggyel nagyobb!&lt;br /&gt;
&lt;br /&gt;
== Tomcat 6 ==&lt;br /&gt;
A 2.1.3 és újabb IdP megköveteli a Tomcat6 használatát (Tomcat5.5 -tel bizonyos böngészők esetén nem működik rendesen). A Debian Lenny nem tartalmazza a Tomcat6-ot, ezért a testing ágból kell feltelepíteni.&lt;br /&gt;
&lt;br /&gt;
A Tomcat6-ra való frissítésről további - vázlatos - információkkal ez az [[Tomcat55_to_Tomcat6|oldal szolgál]].&lt;br /&gt;
&lt;br /&gt;
=== Telepítés ===&lt;br /&gt;
Ha minden rendben meg, és a squeeze source beállításra került, akkor elegendő egy &lt;br /&gt;
 aptitude install tomcat6&lt;br /&gt;
parancs kiadása. Ez felpakolja a tomcat különböző függőségeit is - az ajánlott függőségek (tomcat6-admin, -docs, stb.) feltelepítése nem szükséges.&lt;br /&gt;
&lt;br /&gt;
Ne felejtsük el, hogy a Tomcat szerver &amp;quot;tomcat6&amp;quot; user nevében fog futni! Mivel a Shibboleth servletnek szüksége van arra, hogy hozzáférjen a filerendszerhez,  a Java Security Manager-t ki kell kapcsolni a &amp;lt;code&amp;gt;/etc/default/tomcat6&amp;lt;/code&amp;gt; fájlban:&lt;br /&gt;
 TOMCAT6_SECURITY=no&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy a Tomcat számára üzembiztosan elegendő memóriát biztosítsunk, ugyanebbe a fájlba ( &amp;lt;code&amp;gt;/etc/default/tomcat6&amp;lt;/code&amp;gt; )  adjuk meg:&lt;br /&gt;
 JAVA_OPTS=&amp;quot;-Xms256M -Xmx512M -XX:-DisableExplicitGC &amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Beállítás ===&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;/etc/tomcat6/server.xml&amp;lt;/code&amp;gt; fájlt kell szerkesztenünk&lt;br /&gt;
&lt;br /&gt;
==== Ha a Tomcat Apache mögött fut ====&lt;br /&gt;
A 8009-es porton figyelő Connector elem konfigurációjához hozzá kell adni, hogy a &amp;lt;code&amp;gt;tomcatAuthentication&amp;lt;/code&amp;gt; értéke &amp;quot;false&amp;quot; legyen, ezen kívül a hozzáférést korlátozhatjuk a localhost-ra is (hiszen a Connector-t csak a helyben futó Apache mod_proxy_ajp konnektora érheti el).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Connector port=&amp;quot;8009&amp;quot; address=&amp;quot;127.0.0.1&amp;quot; tomcatAuthentication=&amp;quot;false&amp;quot;&lt;br /&gt;
               enableLookups=&amp;quot;false&amp;quot; redirectPort=&amp;quot;8443&amp;quot; protocol=&amp;quot;AJP/1.3&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Ha a Tomcat önállóan, Apache nélkül fut ====&lt;br /&gt;
Ha a Tomcat Apache nélkül fut, akkor be kell állítani, hogy az SP-vel való kommunikációra fenntartott 8443-as porton egyből a Tomcat figyeljen.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Connector port=&amp;quot;8443&amp;quot;&lt;br /&gt;
           maxHttpHeaderSize=&amp;quot;8192&amp;quot;&lt;br /&gt;
           maxSpareThreads=&amp;quot;75&amp;quot;&lt;br /&gt;
           scheme=&amp;quot;https&amp;quot;&lt;br /&gt;
           secure=&amp;quot;true&amp;quot;&lt;br /&gt;
           clientAuth=&amp;quot;want&amp;quot;&lt;br /&gt;
           SSLEnabled=&amp;quot;true&amp;quot;&lt;br /&gt;
           sslProtocol=&amp;quot;TLS&amp;quot;&lt;br /&gt;
           keystoreFile=&amp;quot;IDP_HOME/credentials/idp.jks&amp;quot;&lt;br /&gt;
           keystorePass=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
           truststoreFile=&amp;quot;IDP_HOME/credentials/idp.jks&amp;quot;&lt;br /&gt;
           truststorePass=&amp;quot;PASSWORD&amp;quot;&lt;br /&gt;
           truststoreAlgorithm=&amp;quot;DelegateToApplication&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ahol az &amp;lt;code&amp;gt;IDP_HOME&amp;lt;/code&amp;gt; az IdP alapkönyvtára, a &amp;lt;code&amp;gt;PASSWORD&amp;lt;/code&amp;gt; pedig az [[#Shibboleth 2.0 IdP telepítés|IdP telepítésekor]] megadandó jelszó lesz.&lt;br /&gt;
&lt;br /&gt;
{{INFO|Amennyiben a Tomcat önállóan fut, szükség van a Shibboleth Security Provider telepítésére!}}&lt;br /&gt;
&lt;br /&gt;
[https://spaces.internet2.edu/display/SHIB2/IdPApacheTomcatPrepare További információ angolul]&lt;br /&gt;
&lt;br /&gt;
== Apache beállítás ==&lt;br /&gt;
&lt;br /&gt;
Tanúsítványok beszerzése és bemásolása &amp;lt;code&amp;gt;/etc/ssl&amp;lt;/code&amp;gt; vonatkozó alkönyvtárai alá.&lt;br /&gt;
&lt;br /&gt;
Meg kell adni, hogy az Apache figylejen a 443-as és 8443-as portokon. Az alábbiak kerüljenek a &amp;lt;code&amp;gt;/etc/apache2/ports.conf&amp;lt;/code&amp;gt; fájlba&lt;br /&gt;
 &lt;br /&gt;
 Listen 443 &lt;br /&gt;
 Listen 8443&lt;br /&gt;
&lt;br /&gt;
=== SSO URL (443-as port) ===&lt;br /&gt;
Be kell állítani a virtuális hosztot, amelyhez az IdP-t rendeltük. Először a 443-as portot konfiguráljuk.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;VirtualHost _default_:443&amp;gt; &lt;br /&gt;
   ServerName aai.example.org:443 &lt;br /&gt;
   SSLEngine On &lt;br /&gt;
   SSLCertificateFile /etc/ssl/certs/aai.example.org.crt &lt;br /&gt;
   SSLCertificateKeyFile /etc/ssl/private/aai.example.org.key &lt;br /&gt;
   SSLCertificateChainFile /etc/ssl/certs/aai.example.org.crt &lt;br /&gt;
   ProxyRequests Off &lt;br /&gt;
   &amp;lt;Proxy ajp://localhost:8009&amp;gt;  &lt;br /&gt;
     Allow from all &lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;  &lt;br /&gt;
   ProxyPass /idp ajp://localhost:8009/idp retry=5 &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ezen a porton valamilyen széles körben ismert tanúsítványt kell használni, mivel a felhasználók böngészőjének ismerniük kell(ene) a kibocsátót.&lt;br /&gt;
&lt;br /&gt;
=== AA ill. Artifact (8443-as port) ===&lt;br /&gt;
Ezen keresztül az SP és az IdP közvetlenül kommunikálnak egymással. Ide arra a tanúsítványra van szükség, amely a föderációs metadatában szerepel - az aláírója nem érdekes. &lt;br /&gt;
&lt;br /&gt;
A csatorna felépítésekor az IdP és az SP is autentikálja magát. Az SP autentikációját az Apache végzi, ami nem végez kibocsátó-ellenőrzést (&amp;lt;code&amp;gt;optional_no_ca&amp;lt;/code&amp;gt;). Ez utóbbit az IdP alkalmazás végzi el, ezért nagyon fontos, hogy a kliens tanúsítványát az Apache továbbadja az alkalmazásnak (&amp;lt;code&amp;gt;ExportCertData&amp;lt;/code&amp;gt;).&lt;br /&gt;
{{ATTENTION_EN|Az Apache a tanúsítvány-ellenőrzésnél ellenőrzi a tanúsítvány típusát. Ezért az SP tanúsítványának vagy kliens tanúsítványnak kell lennie, vagy nem lehet benne típus információ.}}&lt;br /&gt;
&amp;lt;source lang=&amp;quot;apache&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;VirtualHost _default_:8443&amp;gt;&lt;br /&gt;
   ServerName aai.example.org:8443 &lt;br /&gt;
   SSLEngine On &lt;br /&gt;
   SSLCipherSuite ALL:!ADH:!EXPORT56:!EXPORT40:RC4+RSA:!SSLv2:+HIGH:+MEDIUM:+LOW:+EXP&lt;br /&gt;
   SSLCertificateFile /etc/ssl/certs/aai-aa.example.org.crt &lt;br /&gt;
   SSLCertificateKeyFile /etc/ssl/private/aai-aa.example.org.key &lt;br /&gt;
   SSLVerifyDepth 10 &lt;br /&gt;
   SSLVerifyClient optional_no_ca &lt;br /&gt;
   SSLOptions -StdEnvVars +ExportCertData &lt;br /&gt;
   ProxyRequests Off&lt;br /&gt;
   &amp;lt;Proxy ajp://localhost:8009&amp;gt;&lt;br /&gt;
     Allow from all &lt;br /&gt;
   &amp;lt;/Proxy&amp;gt;&lt;br /&gt;
   ProxyPass /idp ajp://localhost:8009/idp retry=5 &lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A virtuális hoszt engedélyezése után be kell tölteni az &amp;lt;code&amp;gt;ssl&amp;lt;/code&amp;gt; és &amp;lt;code&amp;gt;proxy_ajp&amp;lt;/code&amp;gt; modulokat, majd újra kell indítani az apache-ot.&lt;br /&gt;
&lt;br /&gt;
== Shibboleth 2.x IdP servlet telepítés ==&lt;br /&gt;
&lt;br /&gt;
====Letöltés====&lt;br /&gt;
&lt;br /&gt;
A hivatalos IdP kiadás innen [http://shibboleth.internet2.edu/downloads/shibboleth/idp/latest/ innen tölthető le]&lt;br /&gt;
&lt;br /&gt;
Alternatívaként az NIIF által patchelt, ezáltal SLO képes IdP kiadást ajánljuk, ami a [https://www.aai.niif.hu/software NIIF AAI oldalról] érhető el. A Single Logout-képes IdP-ről további [[Single_Logout_in_Shibboleth_IdP|információ itt]].&lt;br /&gt;
&lt;br /&gt;
====Kicsomagolás====&lt;br /&gt;
&lt;br /&gt;
A &amp;lt;code&amp;gt;shibboleth-idp-2.x.x-bin.zip&amp;lt;/code&amp;gt; fájl tartalma kicsomagolás után a &amp;lt;code&amp;gt;/usr/local/shibboleth-idp&amp;lt;/code&amp;gt; könyvtár alákerül&lt;br /&gt;
 &lt;br /&gt;
 cd /usr/local &lt;br /&gt;
 jar -xf shibboleth-idp-2.x.x-bin.zip &lt;br /&gt;
&lt;br /&gt;
==== Endorsed jar állományok ====&lt;br /&gt;
Sajnos - legalábbis a cikk írásakor - a &amp;quot;kincstári&amp;quot; Sun-os Tomcat (Java?) JAXP parser egy ismert memóriaszivárgást tartalmaz, ezért a disztribúcióban az &amp;lt;code&amp;gt;endorsed/&amp;lt;/code&amp;gt; könyvtárban található .jar file-okat kézzel be kell másolni a Tomcat &amp;lt;code&amp;gt;endorsed/&amp;lt;/code&amp;gt; könyvtárába.&lt;br /&gt;
: &amp;lt;small&amp;gt;A Debian alatti tomcat6 csomag használatakor a &amp;lt;code&amp;gt;/usr/share/tomcat6/common/endorsed &amp;lt;/code&amp;gt; könyvtárba kell tenni a jar file-okat (ezt a könyvtárt létre is kell hozni).&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 mkdir /usr/share/tomcat6/endorsed&lt;br /&gt;
 cp endorsed/*.jar /usr/share/tomcat6/endorsed/&lt;br /&gt;
&lt;br /&gt;
==== Installer ====&lt;br /&gt;
 export JAVA_HOME=/usr/jdk&lt;br /&gt;
 cd /usr/local/shibboleth-idp&lt;br /&gt;
 chmod 755 install.sh &lt;br /&gt;
 ./install.sh&lt;br /&gt;
A telepítés során az alábbi kérdésekre kell választ adnunk:&lt;br /&gt;
&lt;br /&gt;
 Is this a new installation? Answering yes will overwrite your current configurat ion. [yes|no] &lt;br /&gt;
 &amp;lt;font color=&amp;quot;#DF0000&amp;quot;&amp;gt;yes&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Új telepítés, vagy sem.&lt;br /&gt;
&lt;br /&gt;
 Where should the Shibboleth Identity Provider software be installed? [default: / opt/shibboleth-idp-2.0.0] &lt;br /&gt;
 &amp;lt;font color=&amp;quot;#DF0000&amp;quot;&amp;gt;/usr/local/shobboleth-idp&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Itt található a letöltött és kicsomagolt shibboleth programcsomag&lt;br /&gt;
&lt;br /&gt;
 What is the hostname of the Shibboleth Identity Provider server? [default: idp.example.org] &lt;br /&gt;
 &amp;lt;font color=&amp;quot;#DF0000&amp;quot;&amp;gt;idp.example.org&amp;lt;/font&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Shibboleth IdP alkalmazás URI alapú azonosítója. &lt;br /&gt;
&lt;br /&gt;
 A keystore is about to be generated for you. Please enter a password that will be used to protect it. &lt;br /&gt;
 &amp;lt;font color=&amp;quot;#DF0000&amp;quot;&amp;gt;changeme&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Feljegyzendő jelszó :)&lt;br /&gt;
&lt;br /&gt;
==== Befejezés ====&lt;br /&gt;
'''Környezeti változó beállítása'''&lt;br /&gt;
 IDP_HOME=/usr/local/shibboleth-idp &lt;br /&gt;
 export IDP_HOME &lt;br /&gt;
&lt;br /&gt;
'''Szimbolikus linkek megadása''' - az egyértelműség és konvenció kedvéért...&lt;br /&gt;
 mv $IDP_HOME/conf /etc/`basename $IDP_HOME`&lt;br /&gt;
 ln -s /etc/`basename $IDP_HOME` $IDP_HOME/conf&lt;br /&gt;
 mv $IDP_HOME/logs /var/log/`basename $IDP_HOME`&lt;br /&gt;
 ln -s /var/log/`basename $IDP_HOME` $IDP_HOME/logs&lt;br /&gt;
 mkdir /var/lib/`basename $IDP_HOME`&lt;br /&gt;
 mv $IDP_HOME/metadata /var/lib/`basename $IDP_HOME`/metadata&lt;br /&gt;
 ln -s /var/lib/`basename $IDP_HOME`/metadata $IDP_HOME/metadata&lt;br /&gt;
&lt;br /&gt;
'''Jogosultságok beállítása''' - hogy a &amp;lt;code&amp;gt;tomcat6&amp;lt;/code&amp;gt; felhasználó hozzáférhessen az alábbi könyvtárakhoz&lt;br /&gt;
 chown -R tomcat6 /var/log/`basename $IDP_HOME` /var/lib/`basename $IDP_HOME` &lt;br /&gt;
&lt;br /&gt;
'''További, már telepített IdP-től függő tomcat beállítás'''&lt;br /&gt;
 cd /var/lib/tomcat6/&lt;br /&gt;
 mkdir -p conf/Catalina/localhost&lt;br /&gt;
&lt;br /&gt;
Az így létrehozott könyvtárban készítsünk egy &amp;lt;code&amp;gt;idp.xml&amp;lt;/code&amp;gt; nevű (a név legyen azonos a idp webalkalmazás nevével) fájlt az alábbi tartalommal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;Context &lt;br /&gt;
        docBase=&amp;quot;/usr/local/shibboleth-idp/war/idp.war&amp;quot; &lt;br /&gt;
        privileged=&amp;quot;true&amp;quot; &lt;br /&gt;
        antiResourceLocking=&amp;quot;false&amp;quot; &lt;br /&gt;
        antiJARLocking=&amp;quot;false&amp;quot; &lt;br /&gt;
        unpackWAR=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teszt ==&lt;br /&gt;
&lt;br /&gt;
Ahhoz, hogy kiderítsük, működik-e (ill. fut-e :) ) az IdP webalkalmazásunk, ahhoz böngészőben hívjuk meg az alábbi urlt: &amp;lt;code&amp;gt;https://idp.example.org/idp/profile/Status&amp;lt;/code&amp;gt;, amennyiben az oldalon egy &amp;lt;code&amp;gt;ok&amp;lt;/code&amp;gt;-t látunk, akkor az alkalmazásunk fut, és elkezdhetjük beállítani az [[Shib2IdpAttrib | attribútumok feloldását]] és [[Shib2IdpARP | kiadását]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ha nem működik a webalkalmazás, akkor az alábbi naplófájlokban kezdjünk el keresgélni:&lt;br /&gt;
*  &amp;lt;code&amp;gt;/var/log/shibboleth/idp-error.log &amp;lt;/code&amp;gt;&lt;br /&gt;
*  &amp;lt;code&amp;gt;/var/log/shibboleth/idp-process.log &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A naplózás mélységét a &amp;lt;code&amp;gt;/etc/shibboleth/logging.xml&amp;lt;/code&amp;gt; fájlban állíthatjuk be. Hibakereséshez érdemes a &amp;lt;code&amp;gt;&amp;lt;ErrorLog&amp;gt;&amp;lt;/code&amp;gt; értékét &amp;lt;code&amp;gt;DEBUG&amp;lt;/code&amp;gt;-ra állítani.&lt;br /&gt;
&lt;br /&gt;
== Shibboleth 2.0 IdP beállítás ==&lt;br /&gt;
&lt;br /&gt;
=== Metadata beállítása ===&lt;br /&gt;
==== Metadata aláírás ellenőrzés beállítása ====&lt;br /&gt;
Az IdP-be beállított metaadat(ok) valódiságának ellenőrzéséhez szükséges egy ún. &amp;lt;code&amp;gt;TrustEngine&amp;lt;/code&amp;gt; beállítása. Ezt a &amp;lt;code&amp;gt;relying-party.xml&amp;lt;/code&amp;gt; -ben kell megtenni a &amp;lt;code&amp;gt;Security Configurations&amp;lt;/code&amp;gt; részben:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;security:TrustEngine &lt;br /&gt;
    id=&amp;quot;shibboleth.MetadataTrustEngine&amp;quot; xsi:type=&amp;quot;security:StaticExplicitKeySignature&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;security:Credential id=&amp;quot;HREFSigner&amp;quot; xsi:type=&amp;quot;security:X509Filesystem&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;security:Certificate&amp;gt;/path/to/idp/credentials/href_signer.crt&amp;lt;/security:Certificate&amp;gt;&lt;br /&gt;
  &amp;lt;/security:Credential&amp;gt;&lt;br /&gt;
 &amp;lt;/security:TrustEngine&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A konfigurációban hivatkozott &amp;lt;code&amp;gt;href_signer.crt&amp;lt;/code&amp;gt; elérhető innen: https://idp.niif.hu/href_signer.crt, SHA-1 lenyomata a következő: &amp;lt;code&amp;gt;DF:4F:7F:B2:C8:3E:D9:D8:33:38:79:C7:2B:27:FB:55:42:97:36:74&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== HREF föderációs metadata beállítása az IdP-ben ====&lt;br /&gt;
A HREF metadata állomány elérhetősége:&lt;br /&gt;
* https://rr.aai.niif.hu/metadata/href-metadata.xml&lt;br /&gt;
&lt;br /&gt;
A Shibboleth IdP &amp;lt;code&amp;gt;relying-party.xml&amp;lt;/code&amp;gt; konfigurációban a következőképpen lehet beállítani a HREF metaadatot (fontos hogy az előző pontban leírt &amp;lt;code&amp;gt;TrustEngine&amp;lt;/code&amp;gt; is be legyen állítva):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;MetadataProvider id=&amp;quot;HREF-Metadata&amp;quot;  &lt;br /&gt;
      xsi:type=&amp;quot;FileBackedHTTPMetadataProvider&amp;quot; xmlns=&amp;quot;urn:mace:shibboleth:2.0:metadata&amp;quot;&lt;br /&gt;
      metadataURL=&amp;quot;https://rr.aai.niif.hu/metadata/href-metadata.xml&amp;quot;&lt;br /&gt;
      backingFile=&amp;quot;/path/to/idp/metadata/href-metadata.xml&amp;quot; &amp;gt;&lt;br /&gt;
   &amp;lt;MetadataFilter xsi:type=&amp;quot;SignatureValidation&amp;quot; trustEngineRef=&amp;quot;shibboleth.MetadataTrustEngine&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/MetadataProvider&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Tovább a föderációba====&lt;br /&gt;
Amennyiben a telepítendő IdP-t szeretnénk a HREF-be integrálni, úgy ennél a pontnál küldjünk egy levelet az [mailto:aai@niif.hu aai@niif.hu] címre, amely nyomán, ha minden rendben van, az IdP regisztrálásra kerül a [[Resource_Registry]]-ben, s a válasz e-mail tartalmaz majd két hivatkozást, melyekről letölthetők az &amp;lt;code&amp;gt;attribute-filter.xml&amp;lt;/code&amp;gt; és &amp;lt;code&amp;gt;attribute-resolver.xml&amp;lt;/code&amp;gt; fájlok. Ezek már testreszabva tartalmazzák az IdP igényeit, az első fájlt elég csak bemásolni, a másodikban pedig - értelemszerűen - az egyes, a helyi erőforrásokra vonatkozó felhasználóineveket és jelszavakat kell kicserélni a megfelelőre.&lt;br /&gt;
&lt;br /&gt;
[[Resource_Registry#IdP_regisztr.C3.A1ci.C3.B3|További információk a Resource Registry-be történő felvételről]]&lt;br /&gt;
&lt;br /&gt;
;Attribútum filter automatikus frissítése&lt;br /&gt;
A Resource Registry automatikusan generálja minden egyes föderációban szereplő IdP számára a saját, testre szabott attribútum filterét, így célszerű úgy beállítani az IdP-t, hogy ezt a fájlt automatikusan töltse le. Ehhez hozzunk létre egy &amp;lt;code&amp;gt;confcache&amp;lt;/code&amp;gt; nevű könyvtárat, adjunk rá írásjogot a &amp;lt;code&amp;gt;tomcat6&amp;lt;/code&amp;gt; felhasználónak, majd szerkesszük a &amp;lt;code&amp;gt;conf/service.xml&amp;lt;/code&amp;gt;fájlt. Az XML felső harmadában kerül megadásra az &amp;lt;code&amp;gt;AttributeFilterEngine&amp;lt;/code&amp;gt;, melyet az alábbiak alapján kell átírni.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Service id=&amp;quot;shibboleth.AttributeFilterEngine&amp;quot;&lt;br /&gt;
        xsi:type=&amp;quot;attribute-afp:ShibbolethAttributeFilteringEngine&amp;quot; &lt;br /&gt;
        configurationResourcePollingFrequency=&amp;quot;3600000&amp;quot; &lt;br /&gt;
        configurationResourcePollingRetryAttempts=&amp;quot;128&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;ConfigurationResource url=&amp;quot;https://rr.aai.niif.hu/gen_attribute-filter.php/href/IDP_NEVE_AZ_RRBEN/attribute-filter.xml&amp;quot; &lt;br /&gt;
                              file=&amp;quot;/path/to/shibboleth-idp/confcache/attribute-filter.xml&amp;quot; xsi:type=&amp;quot;resource:FileBackedHttpResource&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/Service&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Több attribútum filter használata&lt;br /&gt;
Hasznos lehet, ha a föderációs szűrőkön kívül további irányokba kívánunk IdP-nkből attribútumokat kiadni. Elterjedt, hogy pl. különböző google szolgáltatásokhoz lehet az intézményen keresztül autentikálni, amely beállítási részleteket értelemszerűen a Resource Registry nem tartalmazza, így a letöltött friss, és a régi, helyi adatokat is tartalmazó fájlok egyesítése bosszantó plusz munka lehet. Ezt elkerülendd dolgozhatunk több attribútum filterfájlból. Ehhez ismét a &amp;lt;code&amp;gt;conf/service.xml&amp;lt;/code&amp;gt; fájlt kell szerkeszteni. Alább a fenti kódrészlet kiegészítése.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Service id=&amp;quot;shibboleth.AttributeFilterEngine&amp;quot;&lt;br /&gt;
        xsi:type=&amp;quot;attribute-afp:ShibbolethAttributeFilteringEngine&amp;quot; &lt;br /&gt;
        configurationResourcePollingFrequency=&amp;quot;3600000&amp;quot; &lt;br /&gt;
        configurationResourcePollingRetryAttempts=&amp;quot;128&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;ConfigurationResource url=&amp;quot;https://rr.aai.niif.hu/gen_attribute-filter.php/href/IDP_NEVE_AZ_RRBEN/attribute-filter.xml&amp;quot; &lt;br /&gt;
                              file=&amp;quot;/path/to/shibboleth-idp/confcache/attribute-filter.xml&amp;quot; xsi:type=&amp;quot;resource:FileBackedHttpResource&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;ConfigurationResource file=&amp;quot;/path/to/shibboleth-idp/conf/attribute-filter-local.xml&amp;quot; xsi:type=&amp;quot;resource:FilesystemResource&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/Service&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ezek a lépések természetesen kihagyhatók, ha nincs szándékunkban a föderáció tagjaivá válni, ekkor érdemes az alább részletezett attribútumokhoz kapcsolódó tudnivalókkal folytatni.&lt;br /&gt;
&lt;br /&gt;
=== [[Shib2IdpAuth | Autentikáció beállítása]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Shib2IdpAttrib | Attribútum feloldás beállítása]] ===&lt;br /&gt;
&lt;br /&gt;
=== [[Shib2IdpARP | Attribútum kiadás beállítása]] ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategória: Shibboleth2 IdP]]&lt;br /&gt;
[[Kategória: HOWTO]]&lt;/div&gt;</summary>
		<author><name>Cstamas(AT)digitus.itk.ppke.hu</name></author>	</entry>

	</feed>