Autentizace#
Dvě cesty. Reálně použitelná je zatím jen jedna.
JWT — uživatelská identita#
| Endpoint | Co dělá |
|---|---|
POST /api/system/auth/login |
přihlásí, vrátí pár tokenů |
POST /api/system/auth/refresh |
obnoví pár |
POST /api/system/auth/logout |
odhlásí |
GET /api/system/auth/me |
profil přihlášeného |
GET /api/system/auth/is-auth-valid |
ověří token |
POST /api/system/auth/login-external |
přihlášení přes cizí službu |
Přihlašuje se uživatelským jménem, ne e-mailem
Pole se jmenuje username a systém podle něj hledá. E-mail nefunguje.
Tělo požadavku#
Formulářové kódování, ne JSON
Přihlašovací endpointy jako jediné čtou tělo požadavku — a to jen formulářové. JSON tělo se nepřečte.
Hlavička#
Platnost#
| Token | Platnost |
|---|---|
| Přístupový | 15 minut |
| Obnovovací | 60 dní, rotuje se |
Rotace a detekce krádeže#
Každá obnova vrátí nový pár. Starý obnovovací token přestane platit.
Použití starého obnovovacího tokenu zneplatní celou větev
Systém to vyhodnotí jako krádež a odhlásí i vás. Odpověď má kód 103.
Ukládejte vždy poslední vrácený pár.
Odhlášení je okamžité#
Odhlášení zapíše přístupový token na seznam zakázaných.
Váš klient musí zpracovat 401 kdykoli
Ne až po patnácti minutách. Odhlášení z jiného zařízení token zneplatní hned.
🔴 Klíč pro server-server zatím neotevře nic#
Existuje hlavička X-API-Key a klienti se dají v systému založit.
V současné verzi je klíč nepoužitelný
Autorizace klienta je postavená na oprávněních (scopes), která zatím žádná akce nedeklaruje. Ověření klíče projde, ale autorizace skončí zamítnutím. Integrujte přes uživatelský token.
Chování klíče, až bude zprovozněný:
| Chyba | Odpověď |
|---|---|
| Neznámý nebo zrušený klíč | 401 |
| Chybějící oprávnění | 401 |
Klíč nemá uživatelskou identitu
Nemá role a nemůže prokázat vlastnictví záznamu. Kde je potřeba „můj inzerát“, klíč nepomůže ani po zprovoznění.
Přihlášení přes cizí službu#
Vlastní průběh přihlášení (přesměrování, výměna kódu) běží na klientovi. API přijme až výsledek — poskytovatele a identifikátor.
Neúspěšné pokusy#
Zapisují se do auditního logu a do tabulky. Přihlašovací endpoint má limit 5 neúspěšných pokusů za 5 minut.