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üsselalg,typ,ctyundkidenthält. Diese Schlüssel-Wert-Paare sind nicht groß-/kleinschreibungsempfindlich. Alle anderen Schlüssel-Wert-Paare werden ignoriert. Unterstützte Algorithmen sindHS256,HS384,HS512,PS256,PS384,PS512,RS256,RS384,RS512,ES256,ES256K,ES384,ES512,EdDSAundNone. Wenn ein Wert füralgnicht erkannt wird, wird er aufNonegesetzt. Wenn ein Wert fürtypnicht erkannt wird, wird er aufJWTgesetzt.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 wieaudmehrere Werte unterstützen, können sie als durch Kommas getrennte Zeichenfolge definiert werden, zum Beispielaudience1, audience2, audience3. Unterstützte registrierte Ansprüche sindiss,sub,aud,exp,nbf,iatundjti. Damitexp,nbfundiatals 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 imheaderangegebenen Algorithmus. Wenn der AlgorithmusNoneverwendet wird, wird dieses Feld ignoriert.public_key: Ein öffentlicher Schlüssel als Zeichenfolge für den imheaderangegebenen Algorithmus. Wenn die AlgorithmenNone,HS256,HS384oderHS512verwendet 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
// Define the JWT header:
$header = '{"alg": "None", "typ": "JWT"}';
// Define the JWT payload:
$payload = '{"iat": 1234567890, "name": "Example", "test": "Test"}';
CreateJwtToken($header, $payload, "", "");
// 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...");