Lihtne PHP rakendus SimpleSAMLphp autentimisega

Allikas: Eesti Hariduse ja Teaduse Andmesidevõrk
Redaktsioon seisuga 3. märts 2014, kell 10:17 kasutajalt Admin (arutelu | kaastöö)
(erin) ←Vanem redaktsioon | Viimane redaktsiooni (erin) | Uuem redaktsioon→ (erin)

Siin lehel kirjeldatakse SimpleSAMLphp autentimise lisamist lihtsale PHP rakendusele. Juhendit on kasutatud TAAT testteenuse loomisel.

SimpleSAMLphp klasside registreerimine

Kõik vajaminevad klassid saab sisse laadida SimpleSAMLphp autoloaderiga:

require_once('../../lib/_autoload.php');

Kindlasti ärge unustage määramast oma installatsioonikausta.

Autentimisallikas

Seda, millist autentimisallikat SimpleSAMLphp kasutab, määratakse järgnevalt:

$auth = new SimpleSAML_Auth_Simple('default-sp');

Kusjuures default-sp asemel tuleks määrata nimi, mis on defineeritud authsources.php-s.

Autentimine

Autentimise väljakutsumiseks kasutatakse järgnevat funktsiooni, mis tuleb lisada kõikidele lehtedele, mille nägemiseks peab kasutaja olema autentitud.

$auth->requireAuth(); 

Kuna aga TAATis toimub suhtlus IdP-dega üle jaoturite, suunab see link kõigepealt jaoturi, mitte IdP valiku juurde. Selle vältimiseks tuleks kasutada funktsioonil lisaatribuuti:

$auth->requireAuth(array('saml:idp' => 'entity_id',));

Entity_id on jaoturi oma, millega parasjagu ühendutakse. Testjaoturi puhul on selleks https://reos.taat.edu.ee/saml2/idp/metadata.php

Atribuudid

Vastu võetud atribuutide kätte saamiseks kasutatakse järgnevat funktsiooni:

$attributes = $auth->getAttributes();

Üksikute atribuutide (nt display name) kätte saamine: $name = $attrs['displayName'][0];

Välja logimine

$auth->logout('url');

Url tähistab linki, millele suunatakse välja loginud kasutaja. Kuna väljalogimine realiseeritakse jaoturis, tuleks kasutada täispikka url-i (http://...)