Single Sign-On mit SAML einrichten
Mit minimalem Konfigurationsaufwand ermöglicht dieser Connector die Integration mit jedem SAML-basierten Identitätsanbieter (IdP).
Für weitere Informationen über SSO und wie man SSO in Logto konfiguriert, schaue bitte in der Enterprise SSO (SAML & OIDC) Dokumentation nach, um loszulegen.
Schritt 1: SAML SSO-Anwendung auf deinem IdP erstellen
Starte die SAML SSO-Integration, indem du eine Anwendung auf der IdP-Seite erstellst. Erhalte die folgenden Konfigurationen von Logto, die deinen Service Provider (SP) darstellen:
- Zielgruppen-URI (SP Entity ID): Sie stellt einen global eindeutigen Identifikator für deinen Logto-Dienst dar und fungiert als EntityId für SP während Authentifizierungsanfragen an den IdP. Dieser Identifikator ist entscheidend für den sicheren Austausch von SAML-Assertions und anderen authentifizierungsbezogenen Daten zwischen dem IdP und Logto.
- ACS-URL: Die Assertion Consumer Service (ACS) URL ist der Ort, an den die SAML-Assertion mit einer POST-Anfrage gesendet wird. Diese URL wird vom IdP verwendet, um die SAML-Assertion an Logto zu senden. Sie fungiert als Callback-URL, bei der Logto erwartet, die SAML-Antwort mit den Identitätsinformationen des Benutzers zu empfangen und zu verarbeiten.
Fülle die Konfigurationen für die Zielgruppen-URI und die ACS-URL in deiner IdP SAML-Anwendung aus und fahre fort, die folgenden Konfigurationen von deinem IdP abzurufen.
Schritt 2: SAML SSO in Logto konfigurieren
Um die SAML SSO-Integration zum Laufen zu bringen, musst du die IdP-Metadaten an Logto übermitteln. Die IdP-Metadaten sind ein XML-Dokument, das alle Informationen enthält, die Logto benötigt, um das Vertrauen mit dem IdP herzustellen.
Navigiere zum Tab Connection. Logto bietet drei verschiedene Möglichkeiten, die IdP-Metadaten zu konfigurieren:
- Metadata URL: Gib die URL des IdP-Metadaten-XML-Dokuments an. Logto ruft die Metadaten von der URL ab und konfiguriert die SAML SSO-Integration automatisch.
- Upload Metadata: Lade das IdP-Metadaten-XML-Dokument hoch. Logto wird das XML-Dokument analysieren und die SAML SSO-Integration automatisch konfigurieren.
- Manuelle Konfiguration: Konfiguriere die IdP-Metadaten manuell.
- IdP-Entity-ID: Die Entity ID des IdP.
- Single Sign-On URL: Die URL des IdP Single Sign-On-Dienstes.
- Signaturzertifikat: Das x509-Zertifikat wird verwendet, um die Signatur der SAML-Antwort vom IdP zu überprüfen.
Mit einer der oben genannten Konfigurationen wird Logto die IdP-Metadaten analysieren und die SAML SSO-Integration entsprechend konfigurieren.
Schritt 3: Benutzerattribut-Zuordnung konfigurieren
Die vom Identitätsanbieter (IdP) zurückgegebenen Benutzerattribute können je nach IdP-Konfiguration variieren. Logto bietet eine flexible Möglichkeit, die vom IdP zurückgegebenen Benutzerattribute den Benutzerattributen in Logto zuzuordnen. Du kannst die Zuordnung der Benutzerattribute im SAML SSO-Integrations-Erfahrungstab konfigurieren.
- id: Der eindeutige Identifikator des Benutzers. Logto liest den
nameId-Anspruch aus der SAML-Antwort als die Benutzer-SSO-Identitäts-ID. - email: Die E-Mail-Adresse des Benutzers.
- name: Der Name des Benutzers.
Schritt 4: E-Mail-Domänen festlegen und den SSO-Connector aktivieren
Gib die E-Mail-Domains deiner Organisation im SSO-Erfahrung-Tab des Logto-Connectors an. Dadurch wird der SSO-Connector als Authentifizierungsmethode für diese Benutzer aktiviert.
Benutzer mit E-Mail-Adressen in den angegebenen Domains werden weitergeleitet, um den SAML SSO-Connector als einzige Authentifizierungsmethode zu verwenden.
Optional: Die SAML-Authentifizierungsanfrage signieren
Standardmäßig sendet Logto SAML-Authentifizierungsanfragen (AuthnRequests) unsigniert. Wenn dein Identitätsanbieter (IdP) signierte Authentifizierungsanfragen verlangt, kann Logto diese mit einem generierten Service Provider (SP)-Zertifikat signieren. Das Signieren wird ausschließlich durch die Einstellung Authentifizierungsanfrage signieren des Connectors gesteuert — Logto liest das WantAuthnRequestsSigned-Flag aus den IdP-Metadaten nicht aus.
Richte es in dieser Reihenfolge ein, um Unterbrechungen beim Anmelden zu vermeiden:
- Gehe im Tab
Connectiondes Connectors zum Abschnitt Anfrage-Signaturzertifikat und klicke auf Neuen Schlüssel generieren. Der erste Schlüssel wird automatisch aktiviert; später generierte Schlüssel werden zur Rotation als inaktiv bereitgestellt. - Lade das Zertifikat des aktiven Schlüssels herunter und registriere es bei deinem IdP.
- Aktiviere Authentifizierungsanfrage signieren und speichere. Das Aktivieren erfordert einen aktiven Signaturschlüssel — das Speichern ohne einen solchen wird abgelehnt.
- Falls dein IdP eine separate Option hat, signierte Anfragen zu verlangen oder zu überprüfen, aktiviere sie jetzt und teste anschließend den Anmeldeablauf.
Halte beide Seiten synchron. Das Aktivieren von Authentifizierungsanfrage signieren, bevor das Zertifikat registriert ist — oder das Erzwingen der Überprüfung beim IdP, bevor Logto signiert — unterbricht die Anmeldung über diese Verbindung, bis die andere Seite nachgezogen hat. IdPs, die Signaturen von Anfragen nicht überprüfen, ignorieren die Signatur einfach.
Das Schlüsselmanagement funktioniert unabhängig vom Schalter:
- Es kann höchstens ein Schlüssel aktiv sein, und der aktive Schlüssel signiert jede Anfrage. Schlüsseloperationen (generieren, aktivieren, deaktivieren, löschen) wirken sofort.
- Um Zertifikate ohne Ausfallzeit zu rotieren: Generiere einen neuen Schlüssel (wird als inaktiv bereitgestellt), registriere dessen Zertifikat bei deinem IdP und aktiviere ihn dann — der vorherige Schlüssel wird automatisch deaktiviert und kann anschließend gelöscht werden.
- Der aktive Schlüssel kann nicht gelöscht werden und kann nicht deaktiviert werden, solange Authentifizierungsanfrage signieren aktiviert ist — deaktiviere zuerst das Signieren.
- Das Deaktivieren des Schalters behält alle Schlüssel bei, sodass das erneute Aktivieren das Signieren mit demselben Zertifikat fortsetzt — keine Anpassung auf IdP-Seite erforderlich.
Logto signiert Anfragen standardmäßig mit RSA-SHA256. Um RSA-SHA512 zu verwenden, setze requestSignatureAlgorithm auf http://www.w3.org/2001/04/xmldsig-more#rsa-sha512 in der Connector-Konfiguration über die Logto Management API.