Shibboleth + Drupal SSO
Az egyetem (és több hazai felsőoktatási intézmény) a Shibboleth authentikációs rendszerét használja egy központi autentikációs szolgáltatás megvalósítására. A Drupal is képes e rendszer alkalmazására (az NIIF által fejlesztett modul segítségével). A szolgáltatás telepítésének és beállításának részletei:
Telepítés
RedHat (CentOS) alatt az alábbi parancsokkal telepíthetők a szükséges szoftverek
wget http://download.opensuse.org/repositories/security://shibboleth/CentOS_5... -P /etc/yum.repos.d
yum install shibboleth.x86_64
chkconfig --levels 345 shibd on
Súgó: https://wiki.aai.niif.hu/index.php?title=Shib2SPRHELInstall és https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPLinuxRPMInstall
Shibboleth konfiguráció
A /etc/shibboleth/shibboleth2.xml file szerkesztése (annak az intézménynek az előírásai alapján, ami a szolgáltatást nyújtja).
Súgó: https://wiki.aai.niif.hu/index.php?title=DrupalShibbolethReadmeDev és https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPGettingStarted
A handlerURL szokásosan /Shibboleth.sso, a SessionInitiator címe (Location) /Login, így a teljes belépési link http(s?)://www.example.org/Shibboleth.sso/Login lesz. Ha a webszerverünk megfelelő SSL tanúsítványokkal rendelkezik, akkor a CredentialResolver tartalmát is töltsük ki ugyanazokkal (crt, key).
Az attribute-map.xml fájlban állítsuk be az igényelt attribútumokat és azok általunk használt nevét (az adott intézmény előírásai és az igényeink alapján)!
Súgó: https://wiki.aai.niif.hu/index.php?title=HREFAttributeSpec
Apache konfiguráció
(A megfelelő Apache modul betöltéséről a telepítőkészlet gondoskodik.)
Egyrészt a teljes (virtuális) szerverre (legalább HTTPS felett) célszerű beállítani a sibboleth működését és a környezeti változói elérését:
<Location /> AuthType Shibboleth ShibRequireSession Off ShibUseHeaders On require shibboleth </Location>
Majd a Drupal elérési útjára a megfelelő típusú azonosítást (Lazy vagy strict session auth).
Lazy session esetében az előbbi beállítás elegendő, nincs más teendő. Strict session esetében ... érdemes átolvasni az előbbi leírást a bonyodalmakról.
Drupal konfiguráció
Telepíteni és engedélyezni kell a shib_auth modult, majd a beállításai között (admin/user/shib_auth):
- Be kell írni a beállított Login (és Logout) handler címét (pl.: https://www.example.org/Shibboleth.sso/Login).
- Célszerű megkövetelni a HTTPS használatát is.
- Eleinte állítsuk be a Debug opciót is, hogy lássuk, milyen attribútumok érkeznek az autentikációs szervertől!
- A felhasználói névre és email címre vonatkozó attribútumok nevét adjuk meg a megfelelő mezőkben!
Ez lehet pl. a HTTP_SN vagy HTTP_DISPLAYNAME, illetve a HTTP_MAIL. - Nagyon hasznos szolgáltatás az "Account linking", amivel a meglevő felhasználók kezdeményezhetik, hogy a saját helyi belépésüket és a központi azonosítójukat a rendszer összekapcsolja (így később bármelyikkel bejelentkezhetnek).
A Blokkok (admin/build/block) oldalon beállíthatjuk a "Shibboleth authentication" blokk elhelyezését és címét.
(folyt.köv.)
- Mészáros Tamás blogja
- A hozzászóláshoz bejelentkezés szükséges