JSON Web Token (JWT) ist ein verschlüsseltes Tokenformat, das Authentifizierungs- und Autorisierungsdaten sicher zwischen zwei Anwendungen überträgt. In Document360 wird JWT verwendet, um Leser-Logins auf Ihrer Wissensdatenbank zu authentifizieren.
Document360 verwendet einen ähnlichen Ansatz wie PKCE (Proof Key for Code Exchange, eine sichere OAuth-Methode), um das JWT-Token zu erzeugen.
Wann man JWT NICHT verwenden sollte
JWT ist nicht die richtige Wahl, wenn:
- Ihre Organisation nutzt bereits einen zentralen Identitätsanbieter (Okta, Microsoft Entra, Google Workspace) und möchte, dass die Leser sich über diesen authentifizieren. Verwenden Sie stattdessen SAML oder OpenID Connect. Dazu lesen Sie Single Sign-On (SSO).
- Sie benötigen Funktionen wie das automatische Registrieren von SSO-Lesern, Selbstregistrierung der Leser oder das Überspringen der gemeinsamen Anmeldeseite von Document360. Diese Funktionen werden mit JWT nicht unterstützt.
- Du brauchst eine Benutzer-(Portal-)Authentifizierung. JWT unterstützt nur die Leser-Authentifizierung auf der Wissensdatenbank-Seite.
JWT vs SAML vs OpenID Connect
| Ausstattung | JWT | SAML / OpenID Connect |
|---|---|---|
| Lesermanagement | Die Leser werden durch Ihre eigene Anwendung authentifiziert. Es ist nicht nötig, Leserkonten in Document360 zu erstellen oder zu verwalten. | Die Reader werden über den Identity Provider (IdP) Ihrer Organisation wie Okta, Azure AD oder Google Workspace verwaltet. |
| Login-Ziel | Leitet immer zur Wissensdatenbank weiter. Benutzer können über JWT nicht auf das Document360-Portal zugreifen. | Kann je nach Konfiguration sowohl Leser- als auch Team-Logins unterstützen. |
| Wann man sie einsetzen sollte | Ideal, wenn du keinen IdP hast oder die Authentifizierung in deiner eigenen Anwendung verwalten möchtest. | Empfohlen, wenn Ihre Organisation bereits einen IdP verwendet und eine zentrale Authentifizierung sowie Zugriffskontrolle möchte. |
| Benutzerregistrierungsfluss | Du steuerst den Login und die Benutzerbereitstellung in deiner eigenen App. | Kann je nach IdP Selbstregistrierung, Passwort-Reset und Benutzerlebenszyklusverwaltung unterstützen. |
| SSO-Anmeldeseite | In den JWT-Konfigurationseinstellungen definiert man die Anmelde-URL und optional auch die Ausschreib-URL. | Die Anmeldeseite wird vom IdP verwaltet, und Weiterleitungen werden über SAML- oder OpenID-Einstellungen verwaltet. |
| Erweiterte Funktionen | Nicht unterstützt: SSO-Reader automatisch registrieren, die Anmeldungsseite von Document360 überspringen, Reader-Selbstregistrierung. | Verfügbar je nach den Fähigkeiten des IdP. |
| Implementierung | Einfacheres Setup für Entwickler. Du erstellst das JWT, signierst es mit einem in Document360 erstellten Client-Geheimnis und übernimmst die Authentifizierung in deiner App. | Erfordert die Konfiguration von IdP-Metadaten, Zertifikaten und Zuordnungen mit Document360. |
Wie die JWT-Authentifizierung funktioniert
Das untenstehende Diagramm zeigt den vollständigen JWT-Authentifizierungsfluss zwischen Ihrer Anwendung, dem Document360-Identitätsserver und der Wissensdatenbank-Website.
Schlüsselterminologie
| Begriff | Beschreibung |
|---|---|
| Login-URL | Eine öffentliche Anmeldeseite in Ihrer Anwendung, auf der Nutzer zur Authentifizierung umgeleitet werden. |
| Code-Generierungs-URL | Ein sicherer Backend-Endpunkt in Ihrer App, der Benutzerdaten an Document360 sendet, um einen Autorisierungscode zu erhalten. |
| Rückruf-URL | Die URL in Document360, wo deine App den Nutzer nach Erhalt des Autorisierungscodes weiterleitet. Dies wird automatisch von Document360 generiert. |
Authentifizierungsablauf
- Der Nutzer greift auf die private Wissensdatenbank zu. Document360 erkennt, dass das JWT-SSO aktiviert ist, und leitet den Benutzer auf die in den JWT-Einstellungen konfigurierte Anmelde-URL weiter.
- Der Nutzer meldet sich in Ihrer Anwendung an. Wenn der Nutzer noch nicht authentifiziert ist, übernimmt deine Login-Seite die Authentifizierung.
- Dein Backend verlangt einen einmaligen Authentifizierungscode. Ihr Backend sendet eine
POSTAnfrage an die Code-Generierungs-URL mit der Identität des Nutzers, optionalreaderGroupIdsundtokenValidityinnerhalb von Minuten. Diese Anfrage muss über HTTP Basic Auth mit Ihrer Client-ID und Client Secret autorisiert werden.
Beispiel für Autorisierungsheader
Authorization: Basic Base64Encode(clientId:clientSecret)
Beispiel JSON-Nutzlasten
{
"username": "firstname + lastname",
"firstName": "firstname",
"lastName": "lastname",
"emailId": "user email",
"readerGroupIds": ["Obtain from Reader groups overview page in the Document360 portal (Optional)"],
"tokenValidity": 15
}
Stellen Sie eine korrekte JSON-Syntax sicher, um Konfigurationsfehler zu vermeiden.
- Der Document360 Identity-Server liefert einen Authentifizierungscode. Wenn die Anfrage gültig ist, generiert der Identitätsserver von Document360 einen Einmal-Autorisierungscode und sendet ihn an Ihr Backend zurück.
- Deine App leitet den Nutzer zurück zu Document360 weiter. Dein Backend hängt den Code an die Callback-URL an und leitet den Nutzer dorthin weiter. Zum Beispiel:
https://yourproject.document360.io/jwt/authorize?code=xyz
Der Authentifizierungscode ist ein einmaliger Verwendungscode und kann nicht wiederverwendet werden.
- Document360 validiert den Code. Document360 sendet es über einen Backchannel an den Identitätsserver, um es gegen ein JWT-Token auszutauschen.
- Eine Lesersitzung wird erstellt. Document360 extrahiert Benutzerinformationen und Zugriffsregeln basierend auf
readerGroupIdsdem Token. Für den Leser wird eine Sitzung erstellt, die ihm Zugriff auf die erlaubten Kategorien, Sprachen oder Versionen gewährt.
Tokenvalidität und Sitzungsverhalten
- Du kannst die Sitzungsdauer anhand des Feldes
tokenValidityim Payload definieren (mindest: 5 Minuten, maximal: 1440 Minuten). - Sobald das Token abläuft, wird der Leser zurück zu Ihrer Anmelde-URL weitergeleitet.
- Wenn der Benutzer weiterhin in Ihrer App authentifiziert ist, wird ein neuer Code generiert und die Sitzung nahtlos wiederhergestellt.
Fang mit JWT an
| Artikel | Beschreibung |
|---|---|
| JWT in Document360 konfigurieren | Erstellen Sie Ihre JWT-Konfiguration, richten Sie Login-Einstellungen auf Projektebene ein und generieren Sie Ihre geheimen Token. |
| Implementiere JWT in deiner Anwendung | Richte die Backend-Redirect-Logik mit Codebeispielen in C#, Node.js und Java ein. |
| Teste deine JWT-Konfiguration | Verifiziere deine Einrichtung mit cURL oder Postman, bevor du live gehst. |
| Verwaltung von JWT-Konfigurationen | Aktivieren, deaktivieren, löschen und verwalten Sie Token-Rotation, Domain-Routing, Login-Seiten-Status und Audit-Logs. |
| JWT-Lesegruppen | Kontrollieren Sie, auf welche Inhalte Leser zugreifen können, indem Sie sie über JWT Lesergruppen zuweisen. |
| Konfigurieren Sie JWT für das Knowledge Base-Widget | Richte die JWT-Authentifizierung für dein eingebettetes Wissensdatenbank-Widget ein. |
| JWT für den KI-Chatbot | Sichern Sie den Zugang Ihres KI-Chatbots mit JWT-Authentifizierung. |
Wenn Sie JWT zum ersten Mal einrichten, erledigen Sie die Schritte der Reihe nach: JWT in Document360 konfigurieren → JWT in Ihrer Anwendung implementieren → Ihre JWT-Konfiguration testen.
FAQ
Wenn ein JWT-Nutzer sich aus der Client-Anwendung ausloggt, ist er dann auch bei Document360 ausgeloggt?
Nein. Die Sitzung auf Document360 ist nach der ersten Anmeldung unabhängig. Benutzer können Document360 weiterhin nutzen, bis die Gültigkeit des Tokens abläuft, selbst nachdem sie sich aus der Client-Anwendung abgemeldet haben. Wenn beispielsweise die Tokengültigkeit auf 1 Tag gesetzt ist, bleibt die Document360-Sitzung aktiv, bis das Token abläuft.
Kann ich einen Token-Gültigkeitswert außerhalb des erlaubten Bereichs angeben?
Nein. Wenn ein Wert außerhalb des Bereichs angegeben wird, weist das System automatisch den nächstgelegenen erlaubten Wert zu: 5 Minuten für Werte unterhalb des Minimums und 1440 Minuten für Werte über dem Maximum.
Was ist der Unterschied zwischen JWT und SSO?
Einen Vergleich zwischen JWT (JSON Web Token) und SSO (Single Sign-On) können Sie in der untenstehenden Tabelle sehen:
| Kategorie | JWT (JSON Web Token) | SSO (Single Sign-On) |
|---|---|---|
| Authentifizierung | Token, die pro Sitzung oder Benutzeranfrage generiert werden. | Zentrale Authentifizierung über Apps hinweg. |
| Token-Ablauf | Token verfallen typischerweise nach einem festgelegten Zeitraum. | Kein Zeichen; Sitzung wird vom Identitätsanbieter betreut. |
| Sicherheit | Erfordert eine sichere Token-Speicherung. | Sicherer; Zentralisierte Speicherung von Zugangsdaten. |
| Verwendung | Wird für staatenlose, einmalige Authentifizierung verwendet. | Wird für mehrere Anwendungen mit einem einzigen Login verwendet. |
| Integration | Leichter in benutzerdefinierten Apps umzusetzen. | Erfordert eine Integration mit einem Identitätsanbieter. |
Können JWT und SSO (SAML oder OpenID Connect) gleichzeitig aktiv sein?
Ja. JWT- und SSO-Konfigurationen können im selben Projekt ohne Konflikte koexistieren. Jeder Typ wird unabhängig verwaltet. Änderungen an der einen betreffen die andere nicht.
Was soll ich tun, wenn geheime Marken verloren gehen?
Geheime Token werden zum Zeitpunkt der Konfigurationserstellung nur einmal angezeigt. Wenn verloren, navigiere zum Konfigurationsmodus Bearbeiten und klicke auf Generieren für das entsprechende Token. Die Regeneration macht den bestehenden Token sofort ungültig. Aktualisieren Sie Ihre Anwendung ohne Verzögerung mit dem neuen Token, um Authentifizierungsfehler zu vermeiden.