Pokaż spis treści

Tasko

Tożsamość, role i autoryzacja

Bezpieczeństwo Tasko opiera się na kontach globalnych, członkostwie w firmie, rolach SystemAdmin i TenantAdmin, kontekście tenanta, tokenach JWT oraz tokenach PAT dla integracji.

Zakres odpowiedzialności

System rozróżnia administrację platformową i administrację tenantową. SystemAdmin obsługuje firmy i personel platformy, natomiast TenantAdmin działa wewnątrz konkretnej organizacji.

Endpointy używają RequireAuthorization, TaskoPolicies oraz RequireModule. Interfejs może ukrywać akcje, ale decyzja bezpieczeństwa jest wykonywana po stronie backendu.

Scenariusze funkcjonalne

Pierwsza konfiguracja systemu: gdy nie istnieje żaden SystemAdmin, UI kieruje na setup, a backend pozwala wykonać CreateFirstAdmin tylko raz. Po utworzeniu pierwszego administratora ten sam endpoint nie może być użyty do podniesienia kolejnych kont bez kontroli.

Logowanie użytkownika firmowego: po poprawnym haśle system zwraca konto i dostępne firmy. Wybór tenanta ustala kontekst pracy; brak członkostwa albo niepoprawny tenant skutkuje odmową zamiast pustymi danymi.

Ochrona administracji: operacje personelu platformy wymagają SystemAdmin, a operacje firmy wymagają TenantAdmin. Use case blokuje odebranie lub usunięcie ostatniego administratora, bo skutkowałoby utratą zdolności zarządzania systemem.

Przepływ procesu

flowchart TD
  A[Aktor systemu] --> B[Tożsamość, role i autoryzacja]
  B --> C[Widok funkcji]
  C --> D[Warstwa komunikacji aplikacji]
  D --> E[Warstwa API]
  E --> F[Logika aplikacyjna i walidacja]
  F --> G{Wynik operacji}
  G -->|poprawny| H[Zapis stanu]
  G -->|odmowa lub blad| I[Problem Details albo komunikat walidacyjny]

Reguły techniczne

Operacje usuwania lub degradacji administratorów chronią system przed utratą ostatniego konta administracyjnego.

Błędy autoryzacji i walidacji nie są zwracane jako sukces HTTP. Warstwa EndpointResults mapuje Result/Error na odpowiedni kod oraz Problem Details.