Požadavek logout
Účel a dopady
Ukončí a smaže dříve založenou session na straně serveru; je-li požadavek odeslán přes HTTP a nejde o částečné odhlášení, zruší i související autentizační cookies.
Dostupnost, kontext, oprávnění apod.
- Vyžaduje platně autentizovaného uživatele s existující session; žádná zvláštní role není vyžadována.
- Stejně jako
loginse zpracovává speciální větví ještě před obecným rozřazovačem požadavků – nepodléhá tedy standardnímu transakčnímu zpracování.
XML požadavek (syntax + popis)
<request>
<logout
partially="{bool}"
/>
</request>
Parametry a pravidla (atributy, potomci)
partially- Částečné odhlášení - Přesná hodnota"true"(porovnáno po převodu na malá písmena) potlačí zrušení autentizačních cookies (OAuth informační cookie, resp. cookie autentizace a jejích cookies) – zruší se jen samotná session. Jakákoli jiná hodnota (i neuvedení atributu) se chová jako běžné úplné odhlášení včetně cookies. Atribut má smysl jen při odesílání přes HTTP; mimo tento kontext se nepoužije. (typ:bool; nepovinný; výchozí:false)
Požadavek nemá potomky. Toto je jediný atribut požadavku logout – stará dokumentace jej vůbec neznala.
Příklady požadavku
(Zatím bez ověřeného příkladu.)
Zpracování a vedlejší účinky
- Není-li
partially="true"a jde-li o HTTP požadavek: u OAuth přihlášení se nastaví informační cookie o odhlášení; jinak se zruší cookie autentizace a klientovi se odešlou příkazy ke smazání autentizační i informační cookie. - Server se pokusí smazat záznam session. Uspěje-li a jde-li o HTTP požadavek, navíc porovná cookie session s aktuální session a shoduje-li se, pošle klientovi i příkaz ke smazání cookie session.
- Nepodaří-li se session smazat (např. už neexistuje), operace s cookies popsaná výše již proběhla, ale požadavek skončí chybou (viz „Chyby a reakce“).
XML odpověď (syntax + popis)
<response>
<logout
type="ok|error"
detail="{string}"
/>
</response>
Parametry a pravidla (atributy, potomci) – odpověď
type- Výsledek -"ok"/"error". (typ:enum; povolené hodnoty:ok,error)detail- Popis chyby - Přítomen jen přitype="error". (typ:string)
Příklady odpovědi
(Zatím bez ověřeného příkladu.)
Chyby a reakce
<logout type="error" detail="Session nebyla nalezena."/>– session odpovídající aktuálnímu přihlášení už na serveru neexistuje.- Výraz pro identifikaci chyb v odpovědi serveru:
logout[@type='error'].
Související požadavky
- login – založení session, kterou
logoutruší.