Zum Hauptinhalt springen
Version: Next

Konzepte

Nutzer, Sessions und Tokens

Ein Nutzer ist eine Person; eine Session ist ein authentifizierter Login dieser Person mit einem expires_at. Das Erstellen einer Session (POST /v1/genesis/sessions) liefert ein kurzlebiges JWT-token, das Sie an nachfolgende Anfragen anhängen — Genesis verwendet für Nutzer-Auth keine langlebigen API-Schlüssel, anders als bei Server-zu-Server-Aufrufen (siehe Authentifizierung).

Rollen und Berechtigungen

Genesis verwendet rollenbasierte Zugriffskontrolle: Ein Nutzer hat eine oder mehrere Rollen, und jede Rolle gewährt eine Menge von Berechtigungen (billing:read, users:write usw.). Prüfen Sie in Ihrer Autorisierungslogik Berechtigungen, nicht Rollennamen — Rollen-zu-Berechtigung-Zuordnungen können sich ändern, und Code, der if (role === "admin") hartcodiert, bricht unbemerkt, wenn Rollen umstrukturiert werden.

SSO-Verbindungen

Eine SSO-Verbindung konfiguriert, wie sich die Nutzer eines Kunden über dessen eigenen Identity-Provider authentifizieren (SAML oder OIDC), begrenzt auf eine E-Mail-Domain. Sobald eine Domain eine aktive Verbindung hat, müssen sich Nutzer dieser Domain über SSO authentifizieren — Passwort-Login ist für diese Domain dann deaktiviert, nicht nur optional. Das ist eine häufige Falle beim SSO-Rollout: Testen Sie zuerst mit einer Nicht-Produktions-Domain.

MFA und Passkeys

Genesis unterstützt TOTP-basierte MFA und WebAuthn-Passkeys. Eine Session, die ohne Abschluss einer erforderlichen MFA-Challenge erstellt wird, wird mit 403 mfa_required abgelehnt — sie wird nicht still zu einer unverifizierten Session herabgestuft. Es gibt keinen Ihrer Anwendung zugänglichen Teilauthentifizierungs-Zustand.