Single Sign-On (SSO) DE
Troi unterstützt SSO über den Security Assertion Markup Language (SAML) 2.0 Standard, einem offenen Standard zum Austausch von Authentifizierungs- und Autorisierungsdaten zwischen verschiedenen Systemen. Dies bietet ein hohes Maß an Sicherheit und vereinfacht den Zugriff für Benutzer erheblich.
Troi agiert dabei als Service Provider (SP). Ihre Organisation stellt den Identity Provider (IdP) bereit.
Wie SSO mit Troi funktioniert
Der Login-Prozess läuft wie folgt ab:
Der Benutzer versucht, auf Troi zuzugreifen.
Troi leitet die Login-Anfrage an Ihren IdP weiter.
Der IdP authentifiziert den Benutzer und sendet eine SAML-Antwort zurück.
Troi liest diese Antwort, identifiziert den Benutzer und meldet ihn an – optional mit automatischer Gruppenzuordnung.
Implementierungsschritte
Konfigurieren Sie Ihren IdP mit den erforderlichen Attributen und – optional – den Claims für Benutzergruppe, Sprache und Mandantenzuordnung.
Senden Sie uns Ihre SAML-Metadatendatei (
metadata.xml
), inklusive Entity ID, SSO-URL und Zertifikat.Stellen Sie uns eine Liste von E-Mail-Adressen (wie im IdP verwendet) bestehender Troi-Benutzer zur Verfügung, damit wir lokale Benutzernamen auf SSO-basierte Konten umstellen können.
Wir vereinbaren mit Ihnen eine kurze Aktivierungssitzung, in der SSO aktiviert und ein gemeinsamer Live-Login-Test durchgeführt wird.
SAML Attributes Overview
Sobald Sie bereit sind, Ihren Identity Provider (IdP) zu konfigurieren, benötigen Sie die folgenden Attribute:
Attributname | Erforderlich | Übertragene Daten | Verwendung |
---|---|---|---|
Allgemeine Attribute |
|
|
|
| Ja | E-Mail-Adresse | Wird verwendet, um die E-Mail-Adresse und den Kontakt des Benutzers in Troi zu setzen sowie den Benutzernamen zu generieren. |
| Ja | Nachname (Familienname) | Wird verwendet, um den Nachnamen des Benutzers zu setzen. |
| Ja | Vorname | Wird verwendet, um den Vornamen des Benutzers zu setzen. |
Benutzergruppen |
|
|
|
| Nein | Gruppenname oder IDs (als Array) | Wird verwendet, um den Benutzer einer internen Troi-Benutzergruppe zuzuweisen. |
Sprache |
|
|
|
| Nein | Bevorzugte Sprache (als Textwert) | Wird verwendet, um die Standardsprache für Benutzer und Kontakt zu setzen. Es werden verschiedene Formate unterstützt, z. B. |
Mandanten (Clients) |
|
|
|
| Nein | Hauptmandant (als String) | Wird verwendet, um den Hauptmandanten des Benutzers anhand des definierten Mapping-Schlüssels zu setzen. |
| Nein | Zugewiesene Mandanten | Wird verwendet, um dem Benutzer weitere Mandanten zuzuweisen. Akzeptiert einen kommaseparierten String oder ein Array von Werten. |
Attributes & Handling
Allgemeine Attribute
Die E-Mail-Adresse (
urn:oid:1.2.840.113549.1.9.1
) dient als eindeutiger Benutzeridentifikator in Troi.Wenn ein Benutzer noch nicht existiert, wird er automatisch beim ersten erfolgreichen Login erstellt.
Eine manuelle Vorerstellung ist nicht erforderlich, solange der SAML-Login erfolgreich ist und alle erforderlichen Attribute übermittelt werden.Existiert bereits ein Benutzer mit einem lokalen Benutzernamen, wird dieser automatisch auf die E-Mail-Adresse aus dem SAML-Login umgestellt.
Diese Umstellung erfolgt durch uns im Rahmen der SSO-Aktivierung.
Der alte Benutzername ist danach nicht mehr gültig.
Benutzergruppen
Troi unterstützt die automatische Zuweisung von Benutzern zu internen Benutzergruppen beim SSO-Login – basierend auf Attributen des Identity Providers oder einem definierten Fallback.
Unterstütztes Attribut
Troi verwendet folgendes Attribut für die Gruppenzuweisung:
troi:group
Ein String-Wert, der mit dem SSO-Mapping einer internen Benutzergruppe übereinstimmt (definiert in den Gruppeneinstellungen).
Zuweisungsoptionen
Option 1: Automatische Gruppenzuweisung
Der Identity Provider (IdP) sendet beim Login den Claim
troi:group
.Troi versucht, den übermittelten Wert mit einer intern definierten Benutzergruppe abzugleichen.
Wenn eine Übereinstimmung gefunden wird, wird der Benutzer automatisch dieser Gruppe zugewiesen.
Beispiel (Microsoft Entra): Das Attribut wird unter „Attributes & Claims“ mit dem Namen
troi:group
gesetzt.
Option 2: Fallback auf Standardgruppe
If the IdP does not send the troi:group
attribute:
Wenn der IdP kein
troi:group
-Attribut sendet, weist Troi den Benutzer einer vordefinierten Standardgruppe zu.Diese Standardgruppe ist in Troi konfigurierbar.
Administratoren können den Benutzer anschließend bei Bedarf manuell einer anderen Gruppe zuweisen.
Sprache
Die bevorzugte Sprache des Benutzers kann über folgendes SAML-Attribut übermittelt werden:
urn:oid:2.16.840.1.113730.3.1.39
(in vielen Systemen auch bekannt alspreferredLanguage
)
Unterstützte Formate
Zur Sicherstellung der Kompatibilität werden folgende Werte erkannt und automatisch normalisiert:
Deutsch:
de
,de-de
,de_de
,ger
,german
,deutsch
Englisch:
en
,en-us
,en_us
,en_gb
,eng
,english
,englisch
Französisch:
fr
,fr-fr
,fr_fr
,fre
,french
,französisch
Verhalten
Wenn der Identity Provider keine Sprache übermittelt, verwendet Troi die Sprache des zugewiesenen Mandanten.
Wenn dort ebenfalls keine Sprache definiert ist, wird standardmäßig Deutsch verwendet.
Mandanten (Clients)
Troi unterstützt die SSO-basierte Mandantenzuweisung, ähnlich wie bei der Gruppenzuweisung über troi:group
.
Jeder Mandant kann individuell konfiguriert werden mit:
Einer bevorzugten Sprache (verwendet beim Login)
Einem SSO-Mapping-Schlüssel zur automatisierten Zuordnung
Unterstützte Attribute
Zur Mandantenzuweisung nutzt Troi folgende Attribute:
troi:main_client
Ein eindeutiger String, der dem SSO-Mapping-Schlüssel des Mandanten entspricht (definiert in den Mandantendetails).troi:clients
Kann in zwei Formaten übermittelt werden:Als kommaseparierter String, z. B.
"troi1-mandant, troi2-mandant"
Als Array von Strings, z. B.
["troi1-mandant", "troi2-mandant"]
(identisches Format wie beitroi:group
)
Verhalten
Wenn der Identity Provider keine Mandantenzuweisung übermittelt:
Wird der Benutzer dem vordefinierten Standardmandanten zugewiesen.
Dieser Standardmandant ist in Troi konfigurierbar.
FAQ
Kann ich weiterhin direkte Troi-Accounts verwenden, wenn SSO aktiviert wurde?
Nein. Sobald SSO aktiviert ist, können direkte Troi-Benutzerkonten nicht mehr verwendet werden.
Troi verwendet ein Entweder/Oder-Prinzip:
Entweder Sie nutzen SSO, oder Sie nutzen lokale Troi-Accounts – beides gleichzeitig ist nicht möglich.
Setup-Beispiele
Die folgenden Beispiele enthalten keine language
- oder clients
-Attribute/Claims, da deren Konfiguration stark vom verwendeten Identity Provider abhängt.
Einige Provider verfügen über eine integrierte Sprach-Eigenschaft, ähnlich wie eine E-Mail-Adresse (z. B. urn:oid:1.2.840.113549.1.9.1
) als Benutzereigenschaft hinterlegt ist.
In diesen Fällen kann die Sprache auf vergleichbare Weise konfiguriert werden.
Andere Provider unterstützen diese Möglichkeit nicht, sodass das Attribut stattdessen als benutzerdefinierte Benutzer-Eigenschaft zugewiesen werden muss.
Das gleiche gilt für troi:main_client
und troi:clients
– je nach Fähigkeiten des Providers müssen diese entweder als Systemeigenschaft gesetzt oder manuell pro Benutzer definiert werden.
Um die Konsistenz zu gewährleisten, ist die Einrichtungssprache Englisch.
Setup on Microsoft Entra (Microsoft Azure)
Create the Application:
Application → Enterprise applications → New application → Create your own application
What's the name of your app? → Example: Troi SAML SSO
What are you looking to do with your application? → Integrate any other application you don't find in the gallery
Open the Application
Click on Properties
Enabled for users to sign-in? → Yes
Click on Single sign-on
Basic SAML Configuration
Identifier (Entity ID) →
https://<domain>.troi.software
Reply URL →
https://<domain>.troi.software/site/login.php?page=login&action=authenticatorExternal
Attributes & Claims
Add a group claim (optional):
Which groups associated with the user should be returned in the claim? → All groups
Source attribute → Group ID
Advanced options → Customize the Name of the group Claim → Name →
troi:group
Add new claims:
Email Address
Name:
urn:oid:1.2.840.113549.1.9.1
Namespace: empty
Source: Attribute
Source attribute:
user.mail
Family Name
Name:
urn:oid:2.5.4.4
Namespace: empty
Source: Attribute
Source attribute:
user.surname
Given Name
Name:
urn:oid:2.5.4.42
Namespace: empty
Source: Attribute
Source attribute:
user.givenname
General
Ensure that users are granted access to the Troi application within Microsoft Entra. (API permissions)
Setup on Ping Identity
Connections → Applications → New Application
Web App
ACS URLs →
https://<customer>.troi.software/site/login.php?page=login&action=authenticatorExternal
SIGNING KEY → Signing Algorithm →
RSA_SHA256
Entity ID →
https://<customer>.troi.software
SLO Binding →
Post
Subject NameID Format →
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
Save
Switch to Attribute Mappings
Add new ones:
troi:group
→ Group Namesurn:oid:1.2.840.113549.1.9.1
→ EMail Addressurn:oid:2.5.4.4
→ Family Nameurn:oid:2.5.4.42
→ Given Name