Přihlášení a role¶
Tokeny¶
Každý požadavek nese Authorization: Bearer <token>. Druhy tokenu:
| Druh | Platnost | K čemu |
|---|---|---|
session |
30 dní | Přihlášení v prohlížeči (e-mailový kód, passkey, heslo). |
sync |
neomezená | Zařízení (desktopová aplikace) po přihlášení; leží na disku. |
anon |
neomezená | Automaticky vytvořený účet před přihlášením. |
| operátorský | statický | Sdílený CLOUD_TOKEN, bez identity. |
Role a oprávnění¶
Role jsou data (tabulka user_roles), oprávnění (Cap) jsou kód. Oprávnění se jen sčítají, žádná neexistuje „zákaz".
| Role | Oprávnění |
|---|---|
owner |
vše (jen z OWNER_EMAILS, nikdy z řádku v DB) |
admin |
AdminRead, AdminWrite |
alpha |
AppDownload, GuideGenerate |
corpus_reader |
CorpusRead – jen čtení replay záznamů |
Pravidlo pro druh tokenu je po jednotlivých oprávněních:
- Privilegovaná (
AdminRead,AdminWrite,RoleAdmin,Billing) vyžadují webovou session. Token zařízení na disku je nesplní, ani když jeho účet roli drží. - Nárokové (
AppDownload,GuideGenerate,CorpusRead) druh tokenu nekontrolují — zařízení musí fungovat ssynctokenem. BillingaCorpusReadnesmí operátorský token (výdaje a čtení musí být připsatelné konkrétní identitě).
Účet corpus_reader¶
Technický účet, který jen stahuje hry ostatních hráčů.
- Nedoručitelný e-mail (
…@scryglass.invalid) – nelze se k němu přihlásit, jen tokenem. - Odpověď
/admin/replaysneobsahuje e-mail ani příznak anonymity; hry se rozlišují ID klienta v názvu. - Každé čtení se zapisuje do audit logu (
corpus_read: kdo, kolik záznamů, od jakého kurzoru). - Token se vydává
POST /admin/corpus-token(vyžadujeRoleAdminve webové session) a zobrazí se jednou. Odvolá se jako každé zařízení (/me/sessions/{id}, štítek „corpus reader").