- Preduvjet za instalaciju dodatka za autentikaciju korisnika Moodlea uporabom SSO sustava AAI@EduHr je da je na poslužitelju instaliran i podešen programski alat simpleSAMLphp;
- Preuzmite simplesaml autentikacijski dodatak za Moodle;
- Postavite datoteke na poslužitelje te ih instalirajte i omogućite kroz administratorsko sučelje Moodlea
- Konfiguracija dodatka vrši se kroz administracijsko sučelje Moodlea, u dijelu administracije dodatka. U polju “SAML konfiguracija” treba postaviti JSON kojim se konfigurira dodatak. Dodatak podržava više autentikacijskih izvora (eng. authsource), koji se mogu konfigurirati neovisno. Primjer JSON konfiguracije s jednim autentikacijskim izvorom ('default-sp') je:
{ "default-sp": { "idp": "default-sp", "loginstr": "login_aai", "pix": "aai", "default": 1, "samllib": "\/var\/www\/simplesamlphp\/lib", "ssout": 1, "emptymetadata": 0, "enabled": 1, "uid": "hrEduPersonUniqueID", "firstname": "givenName", "lastname": "sn", "email": "email" } }
Parametri koji se mogu definirati kroz JSON su:
- idp - autentikacijski izvor
- loginstr - vrijednost iz 'lang' paketa kojom se definira tekst ispisa na gumbu za prijavu
- pix - ikona u 'pix' direktoriju
- default - određuje zadani mehanizam za prijavu prilikom direktnog pristupa dodatku za prijavu bez proslijeđivanja argumenata (npr. https://example.org/moodle/auth/simplesaml/index.php)
- samllib - putanja do SimpleSAMLphp biblioteke
- ssout - definira hoće li se vršiti Single Sign-Out
- emptymetadata - mogu li ime i prezime mogu biti prazni (može li korisnik sam upisati u profilu ime i prezime)
- enabled - definira može li se autentikacijski izvor koristiti
- uid, firstname, lastname, email - korisnički atributi
Ako želite omogućiti prijavu korisnika samo iz domene Vaše ustanove, to možete omogućiti tako da u datoteci index.php na liniji 117 dodate ovaj kod:
$allowed_domains = array('domena.hr'); $uid_elements = explode('@', $attributes[$samlparam->{$sp}->uid][0]); $domain = array_pop($uid_elements); if(!in_array($domain, $allowed_domains)){ throw new moodle_exception('Pravo pristupa sustavu imaju samo nastavnici i studenti institucije XY.'); }
Važno!
- Ako ste do instalacije simplesaml dodatka koristili FWS za autentikaciju korisnika, potrebno je svim korisnicima u bazi koji su se prijavljivali uoprabom FWS dodatka promijeniti metodu autentikacije. To se može napraviti direktnom intervencijom u bazu podataka. Dakle, u tablici user potrebno je svim zapisima koji u polju auth imaju upisanu vrijednost fws upisati umjesto te vrijednosti simplesaml SQL naredbom (prilagodite je točnom nazivu svoje tablice, prije pokretanja svakako napravite kopiju tablice):
UPDATE user SET auth='simplesaml' WHERE auth='fws'
- Ako imate instaliran Suhosin, da bi dodatak ispravno radio, potrebno je u konfiguraciji PHP-a podesiti:
suhosin.get.max_value_length = 2048