Externí autentizace
Jádro www aplikací » Externí autentizace
SIS umožňuje poskytování autentizace externím službám.
Pro povolení je nutné vyplnit konfigurační parametr stev - login_ext musí obsahovat seznam ip adres ze kterých je možné externí autentizaci provést.
Jako příklad použijeme následující kód.
<?php $timestamp = time(); $svc = 'adresa.databaze.cz'; // adresa databaze - viz DL_SERVICE v connect.inc $access_code = crypt($timestamp.$svc, "as"); echo '<form method="POST" action="http://server/sis3/verif.php"> <input type="text" name="login" value="login"> <input type="text" name="heslo" value="heslo"> <input type="hidden" name="do" value="login_ext"> <input type="hidden" name="tstmp" value="'.$timestamp.'"> <input type="hidden" name="accode" value="'.$access_code.'"> <input type="submit"> </form>'; ?>
Výstupem je XML
<?xml version="1.0" encoding="windows-1250" ?> <auth xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="auth.xsd"> <vysledek>1</vysledek> <error>6</error> <osoba> <oidos>12345678</oidos> <oident>333333</oident> <jmeno>Jan</jmeno> <stredjmeno></stredjmeno> <prijmeni>Novák</prijmeni> <email>novak@server.cz</email> <typ>student</typ> <typ>uziv</typ> </osoba> <studium id="112233"> <obor>IP</obor> <druh>B</druh> <fst>E</fst> <roc>2</roc> <skruh></skruh> <stav>S</stav> </studium> <studium id="142536"> <obor>I</obor> <druh>M</druh> <fst>D</fst> <roc>4</roc> <skruh></skruh> <stav>Z</stav> </studium> </auth>
Legenda:
- auth/vysledek = 0 nelze získat data
- auth/error <> 0 oznamuje že je nějaká chyba u uživatele, ale nebrání v přihlášení (např má heslo přidělené správcem)
- auth/osoba/typ se může vyskytovat i 2x, je li návštěvník zároveň student i uživatel
- auth/osoba/stredjmeno je pouze pro studenty
- Sekce auth/studium je pouze pro studenty