Centralizovaná autorizace a aplikační platforma
Jedno přihlášení, jedna správa uživatelů a práv pro všechny interní i zákaznické aplikace Atrea. Postavili jsme centrální platformu nad Zitadelem s vlastním přihlašováním, podporou více brandů, jemně nastavitelnými právy a notifikacemi.
- Klient
- Atrea s.r.o
- Rok
- 2026
- Technologie
TypeScript Node.js Express PostgreSQL TypeORM Zitadel OpenID Connect Next.js Vue.js Web Push Docker
Zadání
Atrea provozuje řadu webových aplikací pro zaměstnance, obchodní partnery i zákazníky. Každá z nich si dosud řešila přihlašování, uživatele a oprávnění po svém. To znamenalo několik účtů pro jednoho člověka, roztříštěnou správu práv a pokaždé znovu programovanou logiku přístupů.
Cílem bylo vytvořit jednu společnou platformu, kterou může použít každá nová i stávající aplikace, s jednotným přihlášením, centrální správou práv a sdílenými službami, jako jsou notifikace nebo zpětná vazba od uživatelů.
Řešení
Jednotné přihlášení (SSO)
Jako poskytovatele identity jsme zvolili open-source IAM platformu Zitadel. Přihlašovací obrazovky jsme ale napsali vlastní (Next.js nad Session API v2), takže registrace, reset hesla i vícefázové ověření (MFA) vypadají a chovají se přesně podle potřeb Atrey. Zaměstnanci se přihlásí svým firemním Microsoft účtem, externí uživatelé e-mailem a heslem.
Více brandů na jedné platformě
Jedna instalace obsluhuje více značek a organizací. Každý brand má vlastní vzhled přihlášení, vlastní doménu, e-mailové šablony i odesílací SMTP server. Brand se určuje centrálně podle aplikace a callbacku, takže uživatel se nikdy neocitne ve špatném prostředí.
Práva na jednom místě
Aplikace už samy nic nepočítají, všechna logika oprávnění žije v centrální službě:
- role v rámci každé aplikace a automatické přiřazení role podle e-mailové domény,
- binární i stupňovaná práva (zakázáno / zobrazení / editace) ve stromové struktuře,
- práva na konkrétní záznamy (např. sdílení jednoho projektu s kolegou),
- aplikační administrátoři a superadministrátoři s auditním logem všech změn.
Role a práva se při přihlášení vkládají přímo do přístupového tokenu (JWT). Frontend tak ví, co má uživatel vidět, bez dalších dotazů. Backendy ostatních aplikací si oprávnění ověří jedním voláním API.
Sdílené služby pro všechny aplikace
- Notifikace přes e-mail a Web Push, se šablonami pro každý typ zprávy, hromadným rozesíláním a uživatelským nastavením odběru.
- Vícejazyčnost s centrálním registrem jazyků, záložními jazyky a automatickým překladem šablon.
- Zpětná vazba a podpora přímo z aplikací, včetně příloh a notifikací o změně stavu.
- Uživatelské profily a preference sdílené napříč aplikacemi.
Administrace
Pro správce jsme postavili administrační panel ve Vue 3. Jsou v něm uživatelé, role a práva, aplikace a jejich OIDC klienti, brandy, e-mailová nastavení, notifikační šablony, podpora i audit. K platformě patří také vývojářská dokumentace (VitePress) s verzí upravenou pro AI asistenty, podle které nové aplikace připojí vývojáři rychle a jednotně.
Výsledek
- Jeden účet pro všechny aplikace Atrea a firemní SSO přes Microsoft.
- Nová aplikace se napojí za pár dní místo týdnů vývoje vlastního přihlašování a správy práv.
- Správa přístupů na jednom místě, včetně okamžitého zablokování uživatele napříč celou platformou.
- Připraveno na více značek a trhů díky podpoře více brandů a jazyků.
- Platforma už obsluhuje produkční aplikace Atrea a další se na ni postupně převádějí.
