Back to referencesIT i technologie

Centralizowana autoryzacja i platforma aplikacyjna

Jedno logowanie, jedno zarządzanie użytkownikami i uprawnieniami dla wszystkich aplikacji wewnętrznych i dla klientów w Atrea. Zbudowaliśmy centralną platformę opartą na Zitadel z własnym ekranem logowania, obsługą wielu marek, precyzyjnie konfigurowalnymi uprawnieniami i powiadomieniami.

Client
Atrea s.r.o
Year
2026
Technologies
TypeScriptNode.jsExpressPostgreSQLTypeORMZitadelOpenID ConnectNext.jsVue.jsWeb PushDocker

Zadanie

Atrea obsługuje szereg aplikacji internetowych dla pracowników, partnerów biznesowych i klientów. Każda z nich do tej pory rozwiązywała logowanie, użytkowników i uprawnienia na swój sposób. Oznaczało to wiele kont dla jednej osoby, rozproszone zarządzanie uprawnieniami i każdorazowo programowaną od nowa logikę dostępu.

Celem było stworzenie jednej wspólnej platformy, z której może korzystać każda nowa i istniejąca aplikacja, oferującej pojedyncze logowanie, centralne zarządzanie uprawnieniami oraz współdzielone usługi, takie jak powiadomienia czy opinie użytkowników.

Rozwiązanie

Pojedyncze logowanie (SSO)

Jako dostawcę tożsamości wybraliśmy platformę IAM typu open-source Zitadel. Jednak ekrany logowania napisaliśmy sami (Next.js nad Session API v2), dzięki czemu rejestracja, resetowanie hasła oraz uwierzytelnianie wieloskładnikowe (MFA) wyglądają i działają dokładnie według potrzeb Atrea. Pracownicy logują się swoim firmowym kontem Microsoft, a użytkownicy zewnętrzni za pomocą adresu e-mail i hasła.

Wiele marek na jednej platformie

Jedna instalacja obsługuje wiele marek i organizacji. Każda marka ma własny wygląd logowania, własną domenę, szablony e-mail oraz serwer SMTP do wysyłki. Marka jest ustalana centralnie na podstawie aplikacji i mechanizmu callback, dzięki czemu użytkownik nigdy nie trafi do niewłaściwego środowiska.

Uprawnienia w jednym miejscu

Aplikacje nie muszą już niczego obliczać, cała logika uprawnień znajduje się w usłudze centralnej:

  • role w ramach każdej aplikacji oraz automatyczne przypisywanie roli na podstawie domeny e-mail,
  • uprawnienia binarne i stopniowane (zabronione / podgląd / edycja) w strukturze drzewiastej,
  • uprawnienia do konkretnych rekordów (np. udostępnienie jednego projektu kolegi),
  • administratorzy aplikacji i superadministratorzy z dziennikiem audytu wszystkich zmian.

Role i uprawnienia są w trakcie logowania wklejane bezpośrednio do tokena dostępowego (JWT). Dzięki temu frontend wie, co użytkownik powinien widzieć, bez dodatkowych zapytań. Backend innych aplikacji weryfikuje uprawnienia jednym wywołaniem API.

Współdzielone usługi dla wszystkich aplikacji

  • Powiadomienia przez e-mail i Web Push, z szablonami dla każdego typu wiadomości, masową wysyłką i ustawieniami subskrypcji użytkownika.
  • Wielojęzyczność z centralnym rejestrem języków, językami zapasowymi i automatycznym tłumaczeniem szablonów.
  • Opinie i wsparcie bezpośrednio z aplikacji, w tym załączniki i powiadomienia o zmianie statusu.
  • Profile użytkowników i preferencje współdzielone między aplikacjami.

Administracja

Dla administratorów stworzyliśmy panel administracyjny w Vue 3. Znajdują się w nim użytkownicy, role i uprawnienia, aplikacje i ich klienci OIDC, marki, ustawienia poczty e-mail, szablony powiadomień, wsparcie oraz audyt. Do platformy należy również dokumentacja deweloperska (VitePress) z wersją dostosowaną dla asystentów AI, dzięki której deweloperzy mogą szybko i w spójny sposób podłączać nowe aplikacje.

Wynik

  • Jedno konto dla wszystkich aplikacji Atrea i firmowe SSO przez Microsoft.
  • Nowa aplikacja podłącza się w kilka dni zamiast tygodni rozwoju własnego logowania i zarządzania uprawnieniami.
  • Zarządzanie dostępem w jednym miejscu, w tym natychmiastowe zablokowanie użytkownika w całej platformie.
  • Gotowość na wiele marek i rynków dzięki obsłudze wielu marek i języków.
  • Platforma obsługuje już produkcyjne aplikacje Atrea, a kolejne są do niej stopniowo przenoszone.
View project

Have a similar project in mind?

Start a conversationBack to references