Benutzerdefinierte JWT-Token

Therefore™ unterstützt Deklarationen von Ausstellern benutzerdefinierter JWT-Token. Anhand dieser Funktionen können Kunden JWT-Token erstellen und zur Benutzerauthentifizierung an Therefore™ senden.

Therefore™ unterstützt HS256- und RS256-signierte JWT-Token.

  • Für HS256 muss ein gemeinsam verwendeter Schlüssel in Therefore™ gespeichert werden, damit der Token beim Zustandekommen der Verbindung validiert werden kann.

  • Für RS256 muss der öffentliche Schlüssel des Zertifikats, der zum Signieren des Tokens verwendet wird, als CER-Datei an Therefore™ hochgeladen werden

Konfiguration im Therefore™ Solution Designer

  1. Klicken Sie mit der rechten Maustaste auf "Benutzerdefinierte JWT-Token" und wählen Sie "Verwalten".

  2. Klicken Sie auf "Hinzufügen", um eine neue Zeile einzugeben. Die folgenden Informationen müssen in die betreffenden Felder eingegeben werden:

    Feld Beschreibung
    Aussteller-ID Die Aussteller-ID im JWT-Token, der an Therefore™ gesendet wird
    Name Optionaler Name für den JWT-Token
    Aktiv Einen Aussteller aktivieren oder deaktivieren
    Geheimwert/Zertifikat Definieren Sie zur Validierung des Tokens einen gemeinsamen Schlüssel oder laden Sie eine CER-Datei hoch.

Nutzung des Azure Key Vault für gemeinsame Geheimwerte konfigurieren

Wenn Geheimwerte im Azure Key Vault gespeichert werden sollen, müssen dazu die folgenden Registrierungsschlüssel definiert werden:

HEKY_LOCAL_MACHINE\Software\Therefore\Server

- KeyVaultAppId

- KeyVaultAppSec

- KeyVaultBaseUri

Hinweis-Symbol
  • Dieser Schlüssel muss als gemeinsamer Schlüssel zum neuen Aussteller hinzugefügt werden, damit er validiert werden kann.

  • Die Mindestlänge für den gemeinsamen Schlüssel beträgt 32 Zeichen.

Kopieren

Nutzlast des benutzerdefinierten JWT-Tokens

{

  "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "Test AD",

  "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress": "testad@therefore.net",

  "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname": "ADOS\\testad",

  "aud": "<CustomerId>",

  "nbf": 1547106872,

  "exp": 1547108072,

  "urn:oauth:scope": "therefore_user"

  "iss": https://testissuer.therefore.net

}
Token-Parameter Beschreibung
aud Die Client-ID des Therefore™-Systems
iss Die Aussteller-ID für den JWT-Token. Dieser Wert muss mit dem in der Therefore™-Konfiguration verwendeten Wert übereinstimmen.
urn:oauth:scope

Der Geltungsbereich des Tokens. Die möglichen Werte sind 'therefore_user' für alle Berechtigungen oder 'therefore_read' für schreibgeschützten Zugriff.

Benutzerdefinierte JWT-Token können verwendet werden, um Benutzer von Therefore™ Web Client, Portal, API und WebAPI zu authentifizieren.

Hinweis-Symbol
  • Aus Sicherheitsgründen dürfen JWT/OAuth-Token nur mit SSL (https://) verwendet werden.

  • Therefore™ Web Client, Portal: Fügen Sie den neuen Abfrageparameter ssoToken=<token> zu allen ersten Anfragen an den Web Client / das Portal hinzu.

Kopieren

Beispiel-API

string sToken = "<token>;
string sNodeInternal, sNodeFriendly;
TheServer s = new TheServer();
s.ConnectBearerToken(TheClientType.CustomApplication, sToken, "", "", "", true, TheConnectMode.NoLicenseMove, out sNodeInternal, out sNodeFriendly);

Es können spezielle Berechtigungen für einen Token definiert werden.

Berechtigungen für JWT-Token