Přihlášení a odhlášení uživatele

Upravit obsah stránky

Základním a zároveň prvním požadavkem, který klientská strana musí serveru předat, je přihlášení uživatele – tzv. login. Syntaxe tohoto požadavku je velmi jednoduchá a neobsahuje žádné vstupní parametry. Uživatelské jméno a heslo jsou předávány v rámci HTTP hlavičky, nikoli v samotném XML těle požadavku. 

Jedná se o jediný typ požadavku, jehož XML obálka neobsahuje identifikátor seance (session). Účelem login požadavku je právě tuto seanci zahájit a získat její unikátní identifikátor, který je následně nezbytný pro všechny další požadavky odesílané na server. Díky tomuto identifikátoru dokáže server jednoznačně určit, v kontextu jakého přihlášení byl konkrétní požadavek podán, a správně řídit jeho zpracování. 

V případě úspěšného přihlášení server odpoví XML strukturou obsahující nově vytvořený identifikátor seance, například:  

 <response>
  <session>000000000000004a</session>
</response>
 

Hodnota v elementu <session> – v tomto případě 000000000000004a – představuje unikátní identifikátor přihlášení

Tento kód je nutné uvádět v každé další XML obálce požadavku (v elementu <session>), aby mohl být požadavek považován za platný. 

Je důležité zdůraznit, že session kód nemá autentizační charakter – autentifikace uživatele je realizována v HTTP hlavičce každého požadavku pomocí uživatelského jména a hesla. V případě, že je aktivována vícestupňová autentifikace, například prostřednictvím GSM brány, server doplní do odpovědi také údaj <auth> – např. s hodnotou sms. 

Pokud je atribut <auth> přítomen, klientská aplikace zobrazí uživateli dialog pro zadání ověřovacího kódu, který byl doručen formou SMS. Teprve po jeho zadání a odeslání na server je autentizační proces dokončen.
    

Platnost a ukončení seance

Seance zůstává aktivní po dobu, dokud nedojde k:
    bullet

    výslovnému požadavku na odhlášení uživatele (logout), nebo

    bullet

    uplynutí doby nečinnosti – tj. pokud klient delší dobu neodesílá žádné XML požadavky.

Doba nečinnosti, po které je seance automaticky ukončena (timeout), je definována v globální konfiguraci serveru. Obvykle bývá nastavena na 30 minut.

Ukončení seance (logout)

Požadavek na odhlášení má následující tvar: 

 <request>
  <action>logout</action>
  <session>000000000000004a</session>
</request>
 

 Server v odpovědi vrátí potvrzení o ukončení seance: 
 <response>
  <logout/>
</response>
 

 Po úspěšném odhlášení je seance ukončena a všechny další požadavky, které neobsahují nový login, budou odmítnuty jako neautorizované. Další kombinace požadavků typu login/logout jsou popsány v následujících kapitolách.