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