Lihtne PHP rakendus SimpleSAMLphp autentimisega
Siin lehel kirjeldatakse SimpleSAMLphp autentimise lisamist lihtsale PHP rakendusele. Juhendit on kasutatud TAAT testteenuse loomisel.
Sisukord
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://...)