Single Sign-On (SSO)
Orimora unterstützt Single Sign-On pro Team — jeder Workspace kann seinen eigenen Identity Provider (IdP) mitbringen. Zwei Protokolle stehen zur Verfügung:
- OIDC (OpenID Connect) — Okta, Microsoft Entra ID, Google, Auth0, Keycloak …
- SAML 2.0 — dieselben IdPs plus JumpCloud, OneLogin und weitere Enterprise-IdPs.
Die prozessweiten Env-Provider (OIDC_* sowie Google/Microsoft) funktionieren
weiterhin als instanzweiter Fallback.
Wie sich Nutzer anmelden
Abschnitt betitelt „Wie sich Nutzer anmelden“Auf der Login-Seite gibt der Nutzer seine E-Mail ein und klickt Mit Firmen-SSO anmelden. Orimora ordnet die Domain der E-Mail dem konfigurierten Provider des Teams zu und leitet in den passenden Ablauf weiter. Ein Team ist auch direkt über seinen Slug erreichbar:
- OIDC:
/auth/oidc?team=<team-slug> - SAML:
/auth/saml/login?team=<team-slug>
Ein Provider wird nur per E-Mail automatisch erkannt, wenn seine erlaubten Domains gesetzt sind (sonst würde er jede Adresse matchen); ein solcher Provider ist nur über den Team-Slug erreichbar. Neue Nutzer werden beim ersten Login angelegt (JIT) und dem SSO-Team zugeordnet; bestehende Mitglieder werden nie neu zugewiesen.
Provider konfigurieren
Abschnitt betitelt „Provider konfigurieren“Öffne Einstellungen → Identität (SSO) (erfordert die Capability
settings.team_edit).
- OIDC-Provider hinzufügen und ausfüllen: Anzeigename, Issuer-URL, Client-ID,
Client-Secret, optionaler Scope (Standard
openid email profile). - Optional erlaubte E-Mail-Domains setzen, um die E-Mail-basierte Erkennung zu aktivieren und die Anmeldung auf diese Domains zu beschränken.
- Die Redirect-URI
\${APP_URL}/auth/oidc/callbackim IdP registrieren. - Den Provider aktivieren.
SAML 2.0
Abschnitt betitelt „SAML 2.0“Zuerst das instanzweite SP-Signaturschlüsselpaar konfigurieren (ein Paar für alle Teams):
openssl req -x509 -newkey rsa:2048 -nodes \ -keyout sp-key.pem -out sp-cert.pem -days 1095 -subj "/CN=orimora-sp"# SAML_SP_PRIVATE_KEY und SAML_SP_CERT aus diesen PEM-Dateien setzenDann unter Einstellungen → Identität (SSO) → SAML-Provider hinzufügen die IdP-Entity-ID (Issuer), die IdP-SSO-URL, das Signaturzertifikat des IdP (PEM), das NameID-Format, optional das Email-Attribut und optionale erlaubte Domains eintragen.
Gib deinem IdP diese SP-Daten:
- SP-Metadata:
\${APP_URL}/auth/saml/metadata - ACS (HTTP-POST):
\${APP_URL}/auth/saml/acs - Entity ID:
\${APP_URL}/auth/saml/metadata
Sicherheitsmodell
Abschnitt betitelt „Sicherheitsmodell“Jede SAML-Assertion wird gegen das hinterlegte Signaturzertifikat des Providers
geprüft. Orimora erzwingt: eine gültige XML-Signatur (inkl. Abwehr von
XML-Signature-Wrapping), den erwarteten Issuer und die Audience, die
NotBefore/NotOnOrAfter-Gültigkeit (± Clock-Skew), eine Single-Use-InResponseTo-
Korrelation (Replay-Schutz) und einen Success-Status — danach greift die
Domain-Richtlinie.
Automatische Bereitstellung (SCIM 2.0)
Abschnitt betitelt „Automatische Bereitstellung (SCIM 2.0)“SCIM lässt deinen IdP Nutzer automatisch anlegen, aktualisieren und deaktivieren — und Gruppen synchronisieren —, sodass du Konten nicht von Hand verwalten musst.
Einrichtung
Abschnitt betitelt „Einrichtung“- Unter Einstellungen → Identität (SSO) im Bereich SCIM-Bereitstellung auf SCIM-Token erstellen klicken. Token sofort kopieren — er wird nur einmal angezeigt.
- In den Provisioning-Einstellungen deines IdP setzen:
- Tenant- / Basis-URL:
\${APP_URL}/scim/v2 - Secret-Token: der eben erstellte Token
- Tenant- / Basis-URL:
- Mindestens
userName→ E-Mail mappen. Provisioning starten.
Verhalten
Abschnitt betitelt „Verhalten“- Users (
/Users): anlegen, lesen, ersetzen (PUT), aktualisieren (PATCH) und löschen. Die Bereitstellung ist idempotent — dieselbe Nutzeranlage (gematcht überexternalId, dann E-Mail) aktualisiert statt zu duplizieren. - Deaktivierung ist nicht-destruktiv.
active=false(oder ein SCIM-DELETE) sperrt den Nutzer — die E-Mail bleibt erhalten, sodass Reaktivierung funktioniert. Orimora löscht via SCIM nie hart. - Neue Nutzer landen standardmäßig in der Gruppe Viewers (Least Privilege); weitergehender Zugriff folgt aus der Gruppenmitgliedschaft.
- Groups (
/Groups): custom-Gruppen anlegen, Mitglieder patchen (add/remove/replace) und löschen. Die vier System-Gruppen (Admins/Editors/Members/Viewers) sind über SCIM read-only, und ein IdP kann den letzten Admin des Teams nicht entfernen. - Filter unterstützen
eq,coundswbei Users (eq/cobei Groups); Pagination viastartIndex/count; optimistische Nebenläufigkeit überETag/If-Match.