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 s sync tokenem.
  • Billing a CorpusRead nesmí 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/replays neobsahuje 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žaduje RoleAdmin ve webové session) a zobrazí se jednou. Odvolá se jako každé zařízení (/me/sessions/{id}, štítek „corpus reader").