Autentikacijska i autorizacijska infrastruktura sustava znanosti i visokog obrazovanja u Republici Hrvatskoj
  • Hrvatski
  • English

Moodle

 

  1. 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;
     
  2. Preuzmite simplesaml autentikacijski dodatak za Moodle;
     
  3. Postavite datoteke na poslužitelj te ih instalirajte i omogućite kroz administracijsko sučelje Moodlea
     
  4. 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