Jednotné přihlášení
OIDC proti vašemu adresáři, nastavené přímo v produktu, ne v souboru — a MFA, které vitrinka ověřuje, ne předpokládá.
Nastavení
Settings → Organization → SSO. Zadejte issuer, client id a secret a namapujte skupiny z IdP na role. Než to potvrdíte, pomůžou dvě věci: Check health prověří issuer a test sign-in ukáže, jaké claimy přesně dorazí.
- Entra ID, Keycloak, Okta — všechny tři se používají, ale návod pro jednotlivé poskytovatele zatím napsaný není — ozvěte se a dostanete přesné nastavení issueru, scopů a claimů pro ten váš.
- Mapování skupin na role — se použije při každém přihlášení, takže odebrání skupiny v adresáři odebere přístup i tady.
Vynucené SSO
Zapnutím ho vyžadujete po všech. Pro případ, že váš IdP nefunguje, existuje zdokumentovaná nouzová cesta na /auth/login?local=1 a každé její použití se zapisuje do auditu.
MFA se ověřuje, nepředpokládá
MFA vynucuje váš IdP — conditional access v Entra, required actions v Keycloaku — a vitrinka ho kontroluje. Zapněte Require MFA a server odmítne každé přihlášení, jehož id_token nenese vícefaktorový claim amr.
Jde o to, aby potichu uvolněná politika na IdP selhala hlasitě, místo aby druhý faktor tiše vypadl. Tokeny Entra v2.0 potřebují amr nastavený jako volitelný claim; v1.0 ho posílá samo.
Nouzový přístup přes passkey
Když je IdP nedostupný, účet s registrovaným passkey se musí přihlásit jím. Formulář s heslem funguje jen pro účty, které si passkey nikdy nezaložily, a tahle slabší cesta si píše vlastní auditní záznam.
Založte passkey aspoň jednomu adminovi dřív, než nouzovou cestu budete potřebovat.
Session a hlavičky
Každá odpověď nese základní sadu hlaviček — nosniff, frame-ancestors 'self', Referrer-Policy, Permissions-Policy — a HSTS se přidá automaticky, když je BASE_URL https.
| Nastavení | Výchozí | Přepsat |
|---|---|---|
| Absolutní životnost session | 12 hodin | VITRINKA_SESSION_TTL |
| Timeout nečinnosti | 30 minut | VITRINKA_SESSION_IDLE |
Obojí se vynucuje na serveru. Zkombinujte to s vynuceným SSO, ať každé přihlášení projde politikou vašeho IdP.