Haftungsausschluss: Dieser Artikel wurde durch maschinelle Übersetzung erstellt.

Einrichten von JWT SSO

Prev Next

Pläne, die Single Sign-On (SSO) unterstützen

Professionell
Geschäft
Unternehmen






Was ist ein JWT?

Ein JSON Web Token (JWT) ist ein verschlüsseltes Token-Format, das Daten wie Anmeldeinformationen (Authentifizierung und Autorisierung) sicher zwischen zwei Anwendungen überträgt. JWT wird speziell zur Authentifizierung von Leseranmeldungen in Document360 verwendet. Klicken Sie hier, um mehr über JWT zu erfahren.


SSO für Unternehmen mit JWT

Document360 verwendet einen ähnlichen Ansatz wie PKCE (Proof Key for Code Exchange, eine sichere OAuth-Methode), um das JWT Token zu generieren.

Das folgende Diagramm zeigt , wieJWT Authentifizierungsablauf in Document360 erreicht wird.

Picture1.png

Schritte im JWT Authentifizierungsablauf

  1. Wenn der Endbenutzer versucht, auf die mit JWTkonfigurierte Wissensdatenbank zuzugreifen, leitet die Document360-Wissensdatenbank den Endbenutzer an die Anmelde-URL weiter, die das Teamkonto in den Document360-JWTEinstellungen konfiguriert hat.

    Unter der Annahme, dass sich die konfigurierte Anmelde-URL in der Kundenanwendung befindet, für die eine Authentifizierung erforderlich ist.

  2. Durch Aufrufen des Anmeldeendpunkts in der Kundenanwendung wird die Anmeldelogik aufgerufen, die eine Anforderung mit Folgendem sendet:

    • Benutzerdetails

    • Client-ID und geheimer Clientschlüssel zur Codegenerierungs-URL des Identitätsservers zum Abrufen des Authentifizierungscodes

      Dieser Prozess erfolgt über den Backchannel.

  3. Die Codegenerierungs-URL akzeptiert die POST-Anforderungen mit der unten gezeigten JSON-Nutzlast:

    Die Client-ID und der geheime Schlüssel müssen als grundlegender Autorisierungsheader gesendet werden.

Folgen Sie diesem Link , um herauszufinden, wie der Header für die Basisauthentifizierung gebildet werden muss.

JSON-Nutzlast

{
"username": "firstname + lastname",
"firstName": "firstname",
"lastName": "lastname",
"emailId": "user emailId",
"readerGroupIds": ["Obtain from Reader groups overview page in the Document360 portal (Optional)"],
"tokenValidity": 15 //minutes *()*
}

ANMERKUNG

Stellen Sie sicher, dass die JSON-Syntax korrekt ist, um Konfigurationsfehler zu vermeiden.

  1. Der Identitätsserver generiert den Code basierend auf den Benutzerdetails, der Client-ID und dem geheimen Clientschlüssel und gibt den generierten Code an die Kundenanwendung zurück.

    Dies geschieht über den Backchannel.

  2. Sobald die Kundenanwendung den Authentifizierungscode vom Identitätsserver erhält,

    • Die Kunden-App hängt den Code an die Rückruf-URL an, die in den JWT-Einstellungen zu finden ist, und leitet den Benutzer mit dem Code an die Rückruf-URL weiter.

    • Zum Beispiel: HTTPS://{project_name}.document360.io/jwt/authorize?code={code}

ANMERKUNG

Der Authentifizierungscode ist ein einmaliger Code und kann nicht wiederverwendet werden.

  1. Sobald die Wissensdatenbank den Authentifizierungscode im Abfrageparameter erhalten hat, sendet sie den Code über einen Rückkanal an den Identitätsserver für das ID-Token und das Zugriffstoken.

  2. Sobald die Wissensdatenbank das ID-Token erhalten hat, erstellt sie eine Sitzung im Namen des Benutzers, der in den vorherigen Benutzerdetails erwähnt wurde.

    • Standardmäßig ist diese Sitzung 15 Minuten lang gültig. Sobald das Sitzungscookie abläuft, wird der Endbenutzer zur Anmelde-URL (die in der Kundenanwendung gehostet wird) umgeleitet, um einen neuen Code zu erhalten, und der Ablauf wird wiederholt.

    • Die Sitzungserneuerung erfolgt nahtlos, da der Benutzer bereits bei der Kundenanwendung authentifiziert ist

Gültigkeit des Tokens

Der Mindestwert , der festgelegt werden kann, beträgt 5 Minuten, und der Höchstwert , der festgelegt werden kann, beträgt 1440 Minuten (1 Tag).

Locke

Um die JWT-Konfiguration zu testen, können Sie den Befehl cURL mit den folgenden Spezifikationen verwenden. Die HTTP-Version sollte angegeben werden (HTTP2 über TLS und Version von SSL auf TLS 1.2. Andernfalls würde die cURL fehlschlagen.

ANMERKUNG

Im Gegensatz zu anderen verfügbaren IdP-Optionen (Okta, Azure AD usw.) benötigt der Benutzer bei Document360 kein separates Leserkonto. Ein Konto in der Client-Anwendung ist ausreichend.

Nach dem Aktivieren der JWT-Anmeldung kann sich der Leser mit der Client-Anwendung als Leserkonto auf der Document360-Wissensdatenbank-Website anmelden.

ANMERKUNG

Derzeit bietet Document360 eine Entweder-Oder-Funktion für die SSO-Standards. Sobald der IdP mit einem SSO-Standard (SAML, OpenID oder JWT) für ein Projekt konfiguriert wurde, kann der Benutzer keine weitere gleichzeitige Sitzung erstellen.

Zum Beispiel. Wenn ein Projekt im OpenID-Standard mit Okta als IdP konfiguriert ist, werden die SAML- und JWT-Optionen deaktiviert.


SSO-Konfiguration

Erstellen eines JWT

Um ein JSON Web Token (JWT) zu erstellen,

  1. Melden Sie sich beim Document360-Portal an.

  2. Gehen Sie zu Settings ()> Users & security > JWT.

  3. Erstellen Sie von hier aus ein JWT (Client Secret), indem Sie auf die Schaltfläche Create JWT klicken .

  4. Kopieren Sie den generierten geheimen Clientschlüssel, indem Sie auf das Kopiersymbol und dann auf Schließen klicken.

image.png

ANMERKUNG

Derselbe generierte geheime Clientschlüssel ist nicht verfügbar, wenn Sie diesen Abschnitt erneut aufrufen. Falls erforderlich, muss der geheime Schlüssel des Clients neu generiert werden.

Die JWT-Konfigurationsseite mit allen Daten ist jetzt verfügbar.


JWT-Konfiguration

Nachdem ein JWT erstellt wurde, wird die JWT-Konfigurationsseite angezeigt.

  • Richten Sie Ihre Anwendung ein: Kopieren Sie die Client-ID, die Callback-URL, die URL zur Codegenerierung und den geheimen Clientschlüssel , und fügen Sie sie in die entsprechenden Felder in der Clientanwendung ein

image.png

  • JWT-Status: Schalten Sie die JWT-SSO-Anmeldung für Leser mit diesem Umschalter ein oder aus. Wenn der Schalter deaktiviert ist, können sich Leser nicht mit ihren Client-App-Anmeldeinformationen bei der Wissensdatenbank-Website anmelden.

  • JWT löschen: Klicken Sie auf die Schaltfläche Löschen, um das konfigurierte JWT zu entfernen. Sie können diese Aktion nicht rückgängig machen.

  • JWT-Grundkonfiguration: Fügen Sie die Anmelde-URL ein, die Sie von der Client-Anwendung erhalten haben.

    • Leser landen auf der speziellen Abmeldeseite für JWT-SSO-Leser, wenn kein benutzerdefinierter Abmeldelink bereitgestellt wird.

image.png


Umleitung auf andere Seiten statt auf die Startseite

Standardmäßig werden Benutzer nach der Anmeldung auf die Startseite Ihrer Wissensdatenbank umgeleitet.

  • Wenn die Veröffentlichung Ihrer Startseite aufgehoben ist, werden Benutzer auf die Seite /docs umgeleitet.

  • Wenn Sie Benutzer auf eine andere Seite in Ihrer Wissensdatenbank umleiten möchten (außer auf der Startseite oder der Seite /docs ), konfigurieren Sie die Umleitung während des JWT-Setups mit dem folgenden Code.

URL-Muster

https://<Knowledge base URL>/jwt/authorize?code=<code>&redirectUrl=<redirect path>

Parameter

  • Wissensdatenbank-URL: Die Haupt-URL Ihrer Wissensdatenbank-Website.

  • Code: Die Client-ID.

  • Umleitungs-URL: Die neue URL, unter der Benutzer nach der Anmeldung landen sollen.

Beispiel

https://example.document360.io/jwt/authorize?code=FOTaS_SW6dLGytQXvrG_rRFGhyPvrDDrgxJAZzYvJcY&redirectUrl=/docs/5-basic-things-to-get-started

ANMERKUNG

Document360 sendet die Umleitungs-URL RedirectPath an den Anmeldeendpunkt. Wenn der Anmeldeendpunkt mit dem Authentifizierungscode zurück zur Wissensdatenbank umleitet, sollte er die Umleitungs-URL als RedirectUrl Parameter zurückgeben.


Fehlerbehebung

Wenn während der Einrichtung von JWT-SSO Probleme auftreten, lesen Sie den folgenden häufigen Fehler und dessen Lösung:

401-nicht autorisierter Fehler beim Testen von JWT in Postman

Fehler: 401 Nicht autorisierter Fehler

Wenn beim Testen von JWT (JSON Web Token) mit Postman der Fehler 401 Unauthorized auftritt, tritt dies in der Regel auf, weil die Autorisierungseinstellungen nicht ordnungsgemäß konfiguriert sind.

Schritte zur Behebung:

Um diesen Fehler zu beheben, gehen Sie wie folgt vor:

  1. Öffnen Sie in Postman die Anforderung, die Sie testen.

  2. Navigieren Sie zur Registerkarte Autorisierung .

  3. Legen Sie den Autorisierungstyp auf Basic Auth fest.

  4. Geben Sie im Feld Benutzername die Client-ID ein.

  5. Geben Sie im Feld Kennwort den geheimen Clientschlüssel ein.

  6. Gehen Sie zur Registerkarte Körper .

  7. Wählen Sie die Option raw aus der Dropdown-Liste aus und stellen Sie sicher, dass das Format auf JSON festgelegt ist.

  8. Fügen Sie die erforderliche JSON-Nutzlast für die API-Anforderung hinzu.

  9. Klicken Sie auf Senden , um die Anforderung auszuführen.

Überprüfen Sie die Antwort auf die erwarteten Ergebnisse. Wenn die Anforderung erfolgreich ist, sollten Sie in der Antwort einen Authentifizierungscode oder ein Token erhalten.


Häufig gestellte Fragen

Kann ich eine einzige JWT-Anmeldung verwenden, um mehrere Instanzen meiner Anwendung auf derselben Document360-Wissensdatenbank-Website zu unterstützen?

Nein, derzeit unterstützt Document360 eine einzelne JWT-Anmeldekonfiguration pro Projekt.

  • Eine gemeinsame JWT-Anmeldung kann nicht von mehreren Instanzen Ihrer Anwendung für dieselbe Document360-Wissensdatenbank gemeinsam genutzt werden.

  • Jedes Projekt kann jeweils nur eine JWT-Anwendungsinstanz authentifizieren.

Wenn sich ein konfigurierter JWT-Benutzer von der Client-Anwendung abmeldet, bedeutet dies, dass er auch von Document360 abgemeldet wird?

Nein, die Sitzung in Document360 ist nach dem ersten Single Sign-On unabhängig. Benutzer können Document360 bis zum Ablauf der Tokengültigkeit weiterhin verwenden, auch nachdem sie sich von der Clientanwendung abgemeldet haben.

Beispiel: Wenn die Tokengültigkeit auf 1 Tag festgelegt ist, bleibt die Document360-Sitzung aktiv, bis das Token abläuft. Sobald dies der Fall ist, wird der Benutzer abgemeldet.

Was sind die minimalen und die maximalen Token-Gültigkeitsbänder?

Der Mindestwert , der festgelegt werden kann, beträgt 5 Minuten, und der Höchstwert , der festgelegt werden kann, beträgt 1440 Minuten (1 Tag).

Kann ich einen Wert angeben, der den zulässigen Gültigkeitsbereich des Tokens überschreitet?

Nein, wenn ein Wert außerhalb des Bereichs angegeben wird, weist das System automatisch den nächstgelegenen zulässigen Wert zu:

  • 5 Minuten für Werte unter dem Minimum.

  • 1440 Minuten für Werte über dem Maximum.

Was ist der Unterschied zwischen JWT und SSO?

In der folgenden Tabelle finden Sie einen Vergleich zwischen JWT (JSON Web Token) und SSO (Single Sign-On):

Aspekt

JWT

SSO

Authentifizierung

Token, die pro Sitzung/Benutzeranforderung generiert werden.

Zentralisierte Authentifizierung über Apps hinweg.

Ablauf des Tokens

Token verfallen in der Regel nach einem festgelegten Zeitraum.

Kein Token, Sitzung wird vom Identitätsanbieter verarbeitet.

Sicherheit

Erfordert eine sichere Tokenspeicherung.

Sicherere, zentralisierte Speicherung von Anmeldeinformationen.

Verwendung

Wird für die zustandslose Authentifizierung zur einmaligen Verwendung verwendet.

Wird für mehrere Anwendungen mit einer einzigen Anmeldung verwendet.

Integration

Einfacher in benutzerdefinierten Apps zu implementieren.

Erfordert die Integration mit einem Identitätsanbieter.

Können sich Leser mit OpenID oder SAML anmelden, wenn JWT für das Projekt konfiguriert ist?

Nein, Leser können sich nicht mit OpenID oder SAML anmelden, wenn JWT für das Projekt konfiguriert ist. In Document360 kann jeweils nur ein SSO-Standard (JWT, OpenID oder SAML) pro Projekt aktiv sein.

Welche Funktionen werden nicht unterstützt, wenn JWT für das Projekt konfiguriert ist?

Die folgenden Funktionen werden nicht unterstützt, wenn JWT für das Projekt konfiguriert ist:

  1. Erweiterte Einstellungen: SSO automatisch registrieren und die allgemeine Anmeldeseite von Document360 überspringen.

  2. Leser: Selbstregistrierung.