• 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
  • No labels