Gecentraliseerde autorisatie en applicatieplatform
Eén login, één gebruikers- en rechtenbeheer voor alle interne en klantapplicaties van Atrea. We hebben een centraal platform gebouwd bovenop Zitadel met een eigen login, multi-brand ondersteuning, fijnmazige rechten en notificaties.
- Client
- Atrea s.r.o
- Year
- 2026
- Technologies
TypeScript Node.js Express PostgreSQL TypeORM Zitadel OpenID Connect Next.js Vue.js Web Push Docker
Opdracht
Atrea beheert een reeks webapplicaties voor medewerkers, zakenpartners en klanten. Elk van deze applicaties regelde het inloggen, de gebruikers en de rechten tot nu toe op eigen houtje. Dit betekende meerdere accounts voor één persoon, versnipperd rechtenbeheer en telkens opnieuw geprogrammeerde toegangslogica.
Het doel was om één gezamenlijk platform te creëren dat door elke nieuwe en bestaande applicatie kan worden gebruikt, met een SSO (Single Sign-On), centraal rechtenbeheer en gedeelde diensten zoals notificaties of gebruikersfeedback.
Oplossing
Single Sign-On (SSO)
Als identiteitsprovider kozen we voor het open-source IAM-platform Zitadel. De inlogschermen hebben we echter zelf geschreven (Next.js bovenop Session API v2), zodat registratie, wachtwoordherstel en multifactorauthenticatie (MFA) er precies uitzien en werken zoals Atrea dat nodig heeft. Medewerkers loggen in met hun Microsoft-account van de zaak, externe gebruikers met e-mailadres en wachtwoord.
Meerdere merken op één platform
Eén installatie bedient meerdere merken en organisaties. Elk merk heeft een eigen inlogstijl, een eigen domein, e-mailsjablonen en een uitgaande SMTP-server. Het merk wordt centraal bepaald op basis van de applicatie en callback, zodat een gebruiker nooit in de verkeerde omgeving terechtkomt.
Rechten op één plek
Applicaties berekenen zelf niets meer, alle toegangslogica bevindt zich in de centrale service:
- rollen binnen elke applicatie en automatische toewijzing van rollen op basis van het e-maildomein,
- binaire en gelaagde rechten (uitgeschakeld / weergeven / bewerken) in een boomstructuur,
- rechten op specifieke records (bijv. het delen van één project met een collega),
- applicatiebeheerders en superadministrators met een auditlogboek van alle wijzigingen.
Rollen en rechten worden bij het inloggen rechtstreeks in het toegangstoken (JWT) geplaatst. De frontend weet zo wat de gebruiker mag zien, zonder extra queries. De backends van andere applicaties verifiëren de rechten met één API-aanroep.
Gedeelde diensten voor alle applicaties
- Notificaties via e-mail en Web Push, met sjablonen voor elk type bericht, bulkverzending en abonnementsinstellingen voor de gebruiker.
- Meertaligheid met een centrale taalregister, reservetalen en automatische vertaling van sjablonen.
- Feedback en support rechtstreeks vanuit de applicaties, inclusief bijlagen en statuswijzigingsnotificaties.
- Gebruikersprofielen en voorkeuren gedeeld over applicaties heen.
Beheer
Voor beheerders hebben we een administratiepaneel gebouwd in Vue 3. Hierin bevinden zich gebruikers, rollen en rechten, applicaties en hun OIDC-clients, merken, e-mailinstellingen, notificatiesjablonen, support en de audit. Bij het platform hoort ook documentatie voor ontwikkelaars (VitePress) met een versie die is aangepast voor AI-assistenten, waarmee developers nieuwe applicaties snel en uniform kunnen koppelen.
Resultaat
- Één account voor alle Atrea-applicaties en zakelijke SSO via Microsoft.
- Een nieuwe applicatie is binnen een paar dagen gekoppeld in plaats van weken besteden aan het ontwikkelen van een eigen login en rechtenbeheer.
- Toegangsbeheer op één locatie, inclusief het direct blokkeren van een gebruiker over het hele platform heen.
- Klaar voor meerdere merken en markten dankzij ondersteuning voor meerdere merken en talen.
- Het platform bedient al de productieapplicaties van Atrea en andere worden er geleidelijk naar gemigreerd.
