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
-
Klicken Sie mit der rechten Maustaste auf "Benutzerdefinierte JWT-Token" und wählen Sie "Verwalten".
-
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
|
|
|
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.
|
|
|
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.