Zum Inhalt springen

JWT-Funktionen im Jitterbit Integration Studio

Einführung

JSON Web Token (JWT)-Funktionen ermöglichen die Erstellung, Überprüfung und Dekodierung von JWTs. Weitere Informationen zur JWT-Spezifikation finden Sie unter IETF RFC 7519: JSON Web Token (JWT).

Hinweis

Eine Alternative zur Verwendung von JWT-Funktionen ist die Verwendung des JWT-Connectors von Jitterbit.

CreateJwtToken

Erklärung

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 mit allen erwarteten Header Werten für die alg, typ, cty, Und kid Schlüssel. Diese Schlüssel-Wert-Paare sind nicht case-sensitiv. 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 es auf None Wenn ein Wert für typ nicht erkannt wird, wird es auf JWT.
  • payload: Ein JSON-String, der alle erwarteten Payload Werte enthält, die JWT-Ansprüche darstellen. Alle Schlüssel-Wert-Paare werden als gültiger Anspruch behandelt. Wenn Ansprüche wie aud mehrere Werte unterstützen, können sie als Komma-getrennte Zeichenfolge definiert werden, zum Beispiel audience1, audience2, audience3 Zu den unterstützten registrierten Ansprüchen gehören iss, sub, aud, exp, nbf, iat, Und jti. Für exp, nbf, Und iat Um als registrierte Ansprüche behandelt zu werden, müssen sie mit einem ganzzahligen Wert festgelegt werden (1234567890, nicht "1234567890").

Optionale Parameter

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

Beschreibung

Erstellt ein JWT unter Verwendung der bereitgestellten Informationen. Bei Erfolg wird eine Zeichenfolge zurückgegeben, die das neu erstellte Token darstellt; andernfalls werden alle Fehlermeldungen zurückgegeben.

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

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

Example Using None
// Define the JWT header:
$header = '{"alg": "None", "typ": "JWT"}';

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

CreateJwtToken($header, $payload, "", "");
Example Using 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

Erklärung

bool VerifyJwt(string token)

Syntax

VerifyJwt(<token>)

Erforderliche Parameter

  • token: Eine Zeichenfolge, die das JWT darstellt.

Beschreibung

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

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

// Check if a token is in JWT format:
VerifyJwt("AxE9qm4aTZiXvA2G8sblAxjeL...");

VerifyJwtClaims

Erklärung

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

Syntax

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

Erforderliche Parameter

  • token: Eine Zeichenfolge, die das JWT darstellt.
  • algorithm: Der zur Überprüfung von Ansprüchen verwendete Algorithmus.
  • key: Der geheime Schlüssel, der zur Überprüfung von Ansprüchen verwendet wird.

Optionale Parameter

  • claims: Eine JSON-Zeichenfolge, die die zu überprüfenden Ansprüche enthält.

Beschreibung

Überprüft, ob die Ansprüche des bereitgestellten Tokens angesichts des bereitgestellten Algorithmus und des geheimen Schlüssels gültig (nicht geändert) sind und gibt einen Booleschen Wert zurück (true oder false) basierend auf dem Ergebnis. Wenn das Token selbst nicht gültig ist, false wird zurückgegeben, ohne die Ansprüche zu prüfen. Wenn keine Ansprüche angegeben werden, verhält sich diese Funktion stattdessen wie die VerifyJwt-Funktion, wobei der Algorithmus und der geheime Schlüssel ignoriert werden.

Achtung

Die zur Überprüfung angegebenen Anspruchswerte müssen mit den ursprünglich verwendeten Datentypen übereinstimmen. Beispiel: "iat": "1234567890"ist nicht gleich "iat": 1234567890.

Bei Verwendung der Agentenversion 11.26, VerifyJwtClaims erzeugt Fehler, wenn claims wird leer gelassen. Als Workaround geben Sie ein "{}" für claims.

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

// Verify JWT claims:
VerifyJwtClaims("AxE9qm4aTZiXvA2G8sblAxjeL...", "RS256", "Secret", '{"iat": 1234567890, "name": "Example", "test": "Test"}');
// Empty claims workaround:
VerifyJwtClaims("AxE9qm4aTZiXvA2G8sblAxjeL...", "RS256", "Secret", "{}");

DecodeJwtToken

Erklärung

string DecodeJwtToken(string token)

Syntax

DecodeJwtToken(<token>)

Erforderliche Parameter

  • token: Eine Zeichenfolge, die das JWT darstellt.

Beschreibung

Dekodiert das bereitgestellte Token, um seine Ansprüche abzurufen. Bei Erfolg wird eine Zeichenfolge zurückgegeben, die die dekodierten Ansprüche enthält. Wenn das Token ungültig ist, wird eine leere Zeichenfolge zurückgegeben. Andernfalls werden alle Fehlermeldungen zurückgegeben.

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

// Decode a JWT token:
DecodeJwtToken("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtHeader

Erklärung

string GetJwtHeader(string token)

Syntax

GetJwtHeader(<token>)

Erforderliche Parameter

  • token: Eine Zeichenfolge, die das JWT darstellt.

Beschreibung

Ruft den Header aus dem JWT ab. Bei Erfolg wird eine Zeichenfolge mit dem Header zurückgegeben. Wenn das Token ungültig ist, wird eine leere Zeichenfolge zurückgegeben.

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

// Retrieve a JWT header:
GetJwtHeader("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtPayload

Erklärung

string GetJwtPayload(string token)

Syntax

GetJwtPayload(<token>)

Erforderliche Parameter

  • token: Eine Zeichenfolge, die das JWT darstellt.

Beschreibung

Ruft die Payload vom JWT ab. Bei Erfolg wird eine Zeichenfolge mit der Payload zurückgegeben. Wenn das Token ungültig ist, wird eine leere Zeichenfolge zurückgegeben.

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

// Retrieve a JWT payload:
GetJwtPayload("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtSignature

Erklärung

string GetJwtSignature(string token)

Syntax

GetJwtSignature(<token>)

Erforderliche Parameter

  • token: Eine Zeichenfolge, die das JWT darstellt.

Beschreibung

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

Wichtig

Diese Funktion erfordert Agentenversion 11.26 oder höher.

Beispiele

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