Zum Inhalt springen

JWT-Funktionen in Jitterbit Studio

Einführung

JSON Web Token (JWT) Funktionen ermöglichen die Erstellung, Überprüfung und Dekodierung von JWTs. Für weitere Informationen zur JWT-Spezifikation siehe IETF RFC 7519: JSON Web Token (JWT).

Hinweis

Eine Alternative zur Verwendung von JWT-Funktionen ist die Verwendung von Jitterbits JWT-Connector.

CreateJwtToken

Deklaration

string CreateJwtToken(string header, string payload[, string private_key, string public_key])

Syntax

CreateJwtToken(<header>, <payload>[, <private_key>, <public_key>])

Erforderliche Parameter

  • header: Ein JSON-String, der alle erwarteten Header-Werte für die Schlüssel alg, typ, cty und kid enthält. Diese Schlüssel-Wert-Paare sind nicht groß-/kleinschreibungsempfindlich. Alle anderen Schlüssel-Wert-Paare werden ignoriert. Unterstützte Algorithmen sind HS256, HS384, HS512, PS256, PS384, PS512, RS256, RS384, RS512, ES256, ES256K, ES384, ES512, EdDSA und None. Wenn ein Wert für alg nicht erkannt wird, wird er auf None gesetzt. Wenn ein Wert für typ nicht erkannt wird, wird er auf JWT gesetzt.
  • payload: Ein JSON-String, der alle erwarteten Payload-Werte darstellt, die JWT-Ansprüche repräsentieren. Alle Schlüssel-Wert-Paare werden als gültiger Anspruch behandelt. Wenn Ansprüche wie aud mehrere Werte unterstützen, können sie als durch Kommas getrennte Zeichenfolge definiert werden, zum Beispiel audience1, audience2, audience3. Unterstützte registrierte Ansprüche sind iss, sub, aud, exp, nbf, iat und jti. Damit exp, nbf und iat als registrierte Ansprüche behandelt werden, müssen sie mit einem ganzzahligen Wert gesetzt werden (1234567890, nicht "1234567890").

Optionale Parameter

  • private_key: Ein privater Schlüssel als Zeichenfolge für den im header angegebenen Algorithmus. Wenn der Algorithmus None verwendet wird, wird dieses Feld ignoriert.
  • public_key: Ein öffentlicher Schlüssel als Zeichenfolge für den im header angegebenen Algorithmus. Wenn die Algorithmen None, HS256, HS384 oder HS512 verwendet werden, wird dieses Feld ignoriert.

Beschreibung

Erstellt ein JWT mit den bereitgestellten Informationen. Bei Erfolg wird eine Zeichenkette zurückgegeben, die das neu erstellte Token darstellt; andernfalls werden alle Fehlermeldungen zurückgegeben.

Nur die ersten beiden Parameter sind in allen Fällen erforderlich. Die verbleibenden Parameter sind situationsabhängig und können je nach gewähltem JWT-Algorithmus erforderlich sein.

Wichtig

Diese Funktion erfordert die Agenten-Version 11.26 oder höher.

Beispiele

Beispiel ohne Verwendung
// Define the JWT header:
$header = '{"alg": "None", "typ": "JWT"}';

// Define the JWT payload:
$payload = '{"iat": 1234567890, "name": "Example", "test": "Test"}';

CreateJwtToken($header, $payload, "", "");
Beispiel mit RS256
// Define the JWT header:
$header = '{"alg": "RS256", "typ": "JWT"}';

// Define the JWT payload:
$payload = '{"iat": 1234567890, "name": "Example", "test": "Test"}';

$privateKey = "-----BEGIN RSA PRIVATE KEY-----...";
$publicKey = "-----BEGIN PUBLIC KEY-----...";

CreateJwtToken($header, $payload, $privateKey, $publicKey);

VerifyJwt

Deklaration

bool VerifyJwt(string token)

Syntax

VerifyJwt(<token>)

Erforderliche Parameter

  • token: Eine Zeichenkette, die das JWT darstellt.

Beschreibung

Überprüft, ob das bereitgestellte Token ein gültiges JWT-Token ist, und gibt einen booleschen Wert (true oder false) basierend auf dem Ergebnis zurück. Diese Funktion überprüft nur das Format des Tokens; siehe VerifyJwtClaims für eine umfassendere Überprüfung der Ansprüche.

Wichtig

Diese Funktion erfordert die Agenten-Version 11.26 oder höher.

Beispiele

// Überprüfen, ob ein Token im JWT-Format vorliegt:
VerifyJwt("AxE9qm4aTZiXvA2G8sblAxjeL...");

VerifyJwtClaims

Deklaration

bool VerifyJwtClaims(string token, string algorithm, string key[, string claims])

Syntax

VerifyJwtClaims(<token>, <algorithm>, <key>[, <claims>])

Erforderliche Parameter

  • token: Eine Zeichenkette, die das JWT darstellt.
  • algorithm: Der Algorithmus, der für die Überprüfung der Ansprüche verwendet wird.
  • key: Der geheime Schlüssel, der für die Überprüfung der Ansprüche verwendet wird.

Optionale Parameter

  • claims: Ein JSON-String, der die zu überprüfenden Ansprüche enthält.

Beschreibung

Überprüft, ob die bereitgestellten Ansprüche des Tokens gültig (nicht verändert) sind, basierend auf dem angegebenen Algorithmus und dem geheimen Schlüssel, und gibt einen booleschen Wert (true oder false) zurück, abhängig vom Ergebnis. Wenn das Token selbst nicht gültig ist, wird false zurückgegeben, ohne die Ansprüche zu überprüfen. Wenn keine Ansprüche bereitgestellt werden, verhält sich diese Funktion stattdessen wie die VerifyJwt Funktion und ignoriert den Algorithmus und den geheimen Schlüssel.

Vorsicht

Die zur Überprüfung bereitgestellten Anspruchswerte müssen mit den ursprünglichen Datentypen übereinstimmen. Zum Beispiel ist "iat": "1234567890" nicht gleich "iat": 1234567890.

Wenn die Agent-Version 11.26 verwendet wird, erzeugt VerifyJwtClaims Fehler, wenn claims leer gelassen wird. Als Workaround geben Sie "{}" für claims ein.

Wichtig

Diese Funktion erfordert die Agent-Version 11.26 oder höher.

Beispiele

// JWT-Ansprüche überprüfen:
VerifyJwtClaims("AxE9qm4aTZiXvA2G8sblAxjeL...", "RS256", "Secret", '{"iat": 1234567890, "name": "Beispiel", "test": "Test"}');
// Workaround für leere Ansprüche:
VerifyJwtClaims("AxE9qm4aTZiXvA2G8sblAxjeL...", "RS256", "Secret", "{}");

DecodeJwtToken

Deklaration

string DecodeJwtToken(string token)

Syntax

DecodeJwtToken(<token>)

Erforderliche Parameter

  • token: Ein String, der das JWT darstellt.

Beschreibung

Dekodiert das bereitgestellte Token, um seine Ansprüche abzurufen. Bei Erfolg wird ein String mit den dekodierten Ansprüchen zurückgegeben. Wenn das Token nicht gültig ist, wird ein leerer String zurückgegeben. Andernfalls werden alle Fehlermeldungen zurückgegeben.

Wichtig

Diese Funktion erfordert die Agent-Version 11.26 oder höher.

Beispiele

// Ein JWT-Token dekodieren:
DecodeJwtToken("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtHeader

Deklaration

string GetJwtHeader(string token)

Syntax

GetJwtHeader(<token>)

Erforderliche Parameter

  • token: Ein String, der das JWT darstellt.

Beschreibung

Ruft den Header des JWT ab. Bei Erfolg wird ein String zurückgegeben, der den Header enthält. Wenn das Token ungültig ist, wird ein leerer String zurückgegeben.

Wichtig

Diese Funktion erfordert die Agenten-Version 11.26 oder höher.

Beispiele

// JWT-Header abrufen:
GetJwtHeader("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtPayload

Deklaration

string GetJwtPayload(string token)

Syntax

GetJwtPayload(<token>)

Erforderliche Parameter

  • token: Ein String, der das JWT darstellt.

Beschreibung

Ruft die Payload des JWT ab. Bei Erfolg wird ein String zurückgegeben, der die Payload enthält. Wenn das Token ungültig ist, wird ein leerer String zurückgegeben.

Wichtig

Diese Funktion erfordert die Agenten-Version 11.26 oder höher.

Beispiele

// JWT-Payload abrufen:
GetJwtPayload("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtSignature

Deklaration

string GetJwtSignature(string token)

Syntax

GetJwtSignature(<token>)

Erforderliche Parameter

  • token: Ein String, der das JWT darstellt.

Beschreibung

Ruft die Signatur aus dem JWT ab. Bei Erfolg wird eine Zeichenkette mit der Signatur zurückgegeben. Wenn das Token ungültig ist, wird eine leere Zeichenkette zurückgegeben.

Wichtig

Diese Funktion erfordert die Agenten-Version 11.26 oder höher.

Beispiele

// Retrieve a JWT signature:
GetJwtSignature("AxE9qm4aTZiXvA2G8sblAxjeL...");