Single Sign-On (SSO) DE

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

  1. Konfigurieren Sie Ihren IdP mit den erforderlichen Attributen und – optional – den Claims für Benutzergruppe, Sprache und Mandantenzuordnung.

  2. Senden Sie uns Ihre SAML-Metadatendatei (metadata.xml), inklusive Entity ID, SSO-URL und Zertifikat.

  3. 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.

  4. 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

Attributname

Erforderlich

Übertragene Daten

Verwendung

Allgemeine Attribute

 

 

 

urn:oid:1.2.840.113549.1.9.1

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.

urn:oid:2.5.4.4

Ja

Nachname (Familienname)

Wird verwendet, um den Nachnamen des Benutzers zu setzen.

urn:oid:2.5.4.42

Ja

Vorname

Wird verwendet, um den Vornamen des Benutzers zu setzen.

Benutzergruppen

 

 

 

troi:group

Nein

Gruppenname oder IDs (als Array)

Wird verwendet, um den Benutzer einer internen Troi-Benutzergruppe zuzuweisen.

Sprache

 

 

 

urn:oid:2.16.840.1.113730.3.1.39

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. de, de-de, de_de, ger, german, deutsch.

Mandanten (Clients)

 

 

 

troi:main_client

Nein

Hauptmandant (als String)

Wird verwendet, um den Hauptmandanten des Benutzers anhand des definierten Mapping-Schlüssels zu setzen.

troi:clients

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.

image-20250626-131651.png

 

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 als preferredLanguage)

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.

image-20250626-131600.png

 

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 bei troi:group)

Verhalten

Wenn der Identity Provider keine Mandantenzuweisung übermittelt:

  • Wird der Benutzer dem vordefinierten Standardmandanten zugewiesen.

  • Dieser Standardmandant ist in Troi konfigurierbar.

image-20250626-131600.png

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-Accountsbeides 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)

  1. Create the Application:

    1. Application → Enterprise applications → New application → Create your own application

      1. What's the name of your app? → Example: Troi SAML SSO

      2. What are you looking to do with your application? → Integrate any other application you don't find in the gallery

  2. Open the Application

  3. Click on Properties

    1. Enabled for users to sign-in? → Yes

  4. Click on Single sign-on

    1. Basic SAML Configuration

      1. Identifier (Entity ID) → https://<domain>.troi.software

      2. Reply URL → https://<domain>.troi.software/site/login.php?page=login&action=authenticatorExternal

    2. Attributes & Claims

      1. 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

      2. 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

  5. General

    1. Ensure that users are granted access to the Troi application within Microsoft Entra. (API permissions)

 

Setup on Ping Identity

  1. Connections → Applications → New Application

  2. Web App

  3. ACS URLshttps://<customer>.troi.software/site/login.php?page=login&action=authenticatorExternal

  4. SIGNING KEYSigning AlgorithmRSA_SHA256

  5. Entity IDhttps://<customer>.troi.software

  6. SLO BindingPost

  7. Subject NameID Formaturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

  8. Save

  9. Switch to Attribute Mappings

  10. Add new ones:

    • troi:groupGroup Names

    • urn:oid:1.2.840.113549.1.9.1EMail Address

    • urn:oid:2.5.4.4Family Name

    • urn:oid:2.5.4.42Given Name

© 2024 Troi GmbH

InformationspflichtenDatenschutzImpressum