Platforma

SSO dla firm (SAML 2.0 i OpenID Connect)

Logowanie do panelu przez firmowego dostawcę tożsamości: Okta, Entra ID, Google Workspace, Keycloak i inni.

W planach Team i Enterprise organizacja może logować członków do panelu HostBase przez własnego dostawcę tożsamości (IdP). Konfiguracja: Organizacja → SSO (właściciel lub admin).

1. Zweryfikuj domenę

Dodaj domenę firmową (np. firma.pl) i utwórz u dostawcy DNS rekord TXT na tej domenie o wartości hostbase-verification=<token>, a potem kliknij „Sprawdź”. Do SSO trafiają wyłącznie adresy z zweryfikowanych domen — IdP organizacji nie może zalogować nikogo spoza nich. Domen publicznych skrzynek (gmail.com, wp.pl…) nie da się przypisać.

2. Skonfiguruj dostawcę

SAML 2.0 — w IdP utwórz aplikację SAML z wartościami z panelu: Entity ID / Audience https://host.ulewicz.space/api/sso/saml/<org>/metadata i ACS URL https://host.ulewicz.space/api/sso/saml/<org>/acs (HTTP-POST). Metadane SP pobierzesz pod tym samym adresem /metadata. W panelu podaj URL metadanych IdP albo wklej plik XML. Wymagamy podpisanych asercji; obsługujemy tylko logowanie inicjowane przez HostBase (SP-initiated), z kontrolą InResponseTo, audience i czasu ważności. Atrybuty e-mail, imię i grupy są wykrywane automatycznie (np. email, displayName, groups) albo ustawiasz ich nazwy ręcznie.

OpenID Connect — zarejestruj aplikację z Redirect URI https://host.ulewicz.space/api/sso/oidc/callback, a w panelu podaj Issuer URL (konfiguracja jest pobierana z /.well-known/openid-configuration), Client ID i opcjonalnie Client secret (szyfrowany AES-256-GCM). Używamy authorization code + PKCE (S256), sprawdzamy state i nonce; adres oznaczony przez IdP jako niezweryfikowany jest odrzucany. Aby dostać grupy, dodaj zakres groups (lub odpowiednik u dostawcy).

3. Zasady

  • Włącz SSO — na stronie logowania pojawia się „Zaloguj przez SSO”: użytkownik wpisuje służbowy e-mail lub identyfikator organizacji i trafia do IdP.
  • Provisioning JIT — przy pierwszym logowaniu tworzymy konto i dodajemy je do organizacji z domyślną rolą (admin / developer / tylko odczyt). Opcjonalne mapowanie grupa=rola nadaje rolę według grup z IdP (wygrywa najwyższa; rola właściciela nigdy nie jest nadawana automatycznie). Istniejące konto z tym samym e-mailem zostaje powiązane z tożsamością IdP.
  • Czas sesji — sesje SSO wygasają po ustawionej liczbie godzin (1–720).
  • Wymuszaj SSO — członkowie organizacji z adresem w zweryfikowanej domenie nie zalogują się hasłem, a ich istniejące sesje hasłowe są kończone. Dostęp awaryjny hasłem zachowują właściciele z włączonym MFA. Żeby nie odciąć się od panelu, wymuszenie da się włączyć tylko po udanym logowaniu przez SSO (przycisk „Przetestuj logowanie”) albo z konta właściciela z MFA.

Każde logowanie, utworzenie konta (JIT), zmiana roli z mapowania grup i zmiana konfiguracji trafia do logów audytowych organizacji.