Preskoči na glavno vsebino

Odhlasovanie používateľov v REST API

Ako odhlásiť používateľa cez REST API

Avtor: Petr Pech

Po úspešnom prihlásení používateľa do ABRA Flexi vzniká autentizačné sedenie. Po výbere firmy si systém navyše ku každému používateľovi zakladá kontextové informácie o pripojení k danej firme — základnú menu, nastavenie firmy alebo oprávnenia používateľa. Prípadná zmena týchto údajov ovplyvní len nové prihlásenie, takže dlhodobo prihlásený používateľ by o nej nevedel. Riešením je vynútiť ukončenie jeho sedenia.


Volanie služby

POST https://demo.flexibee.eu/status/user/{přihlašovací jméno}/logout

⚠️ Rovnaká metóda sa používa aj pre webové rozhranie. V prípade API preto požadujte formát JSON alebo XML — zabránite tým finálnemu presmerovaniu.

Ukončovať možno sedenia používateľov prihlásených cez webové rozhranie a API sedenia vytvorené JSON autentizáciou. Pre API požiadavky, ktoré používajú HTTP autentizáciu, žiadne sedenie nevzniká.


Dve možnosti použitia

Čo chcete

Ako volať

Následok

Odhlásiť používateľa zo všetkých firiem

Bez ďalších parametrov.

Zrušia sa všetky autentizačné sedenia používateľa.

Odhlásiť používateľa z konkrétnej firmy

Doplňte parameter company={databázové jméno firmy}.

Autentizačné sedenia zostávajú v platnosti, zahodia sa len kontextové informácie.

K obnoveniu kontextu a jeho opätovnému nakešovaniu dôjde automaticky s ďalšou požiadavkou používateľa.


Príklady

Odhlásenie používateľa novak zo všetkých firiem a ukončenie platnosti autentizácie:

POST https://demo.flexibee.eu/status/user/novak/logout

Odhlásenie používateľa franta z firmy nejlepsi_firma_a_s_ bez zrušenia autentizácie:

POST https://demo.flexibee.eu/status/user/franta/logout?company=nejlepsi_firma_a_s_


Návratové stavy

Stav

Kedy nastane

200

Úspešné volanie cez API. Telo odpovede je prázdne.

303

Úspešné volanie z webového rozhrania — presmerovanie na /status/user.

404

Používateľ nie je prihlásený; v tele je hlásenie User '…' is not logged in. Rovnaký stav nastane, aj keď sa kontextové informácie zahodili, ale žiadne autentizačné sedenie neexistovalo — typicky pri API volaniach s HTTP autentizáciou.

💡 Ak nechcete chybu 404 u používateľa, ktorý nie je prihlásený, pripojte parameter ?ignore-not-found=true. Volanie potom vráti 200 aj vtedy, keď nebolo čo odhlasovať — pre dávkové odhlasovanie je to praktickejšie.

POST https://demo.flexibee.eu/status/user/novak/logout?ignore-not-found=true


Kto môže službu použiť

  • Používateľ s právom prístupu do všetkých firiem a súčasne s právom spravovať licenciu.

  • Používateľ sám seba.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?