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 diealg
,typ
,cty
, Undkid
Schlüssel. Diese Schlüssel-Wert-Paare sind nicht case-sensitiv. Alle anderen Schlüssel-Wert-Paare werden ignoriert. Unterstützte Algorithmen sindHS256
,HS384
,HS512
,PS256
,PS384
,PS512
,RS256
,RS384
,RS512
,ES256
,ES256K
,ES384
,ES512
,EdDSA
, UndNone
Wenn ein Wert füralg
nicht erkannt wird, wird es aufNone
Wenn ein Wert fürtyp
nicht erkannt wird, wird es aufJWT
.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 wieaud
mehrere Werte unterstützen, können sie als Komma-getrennte Zeichenfolge definiert werden, zum Beispielaudience1, audience2, audience3
Zu den unterstützten registrierten Ansprüchen gehöreniss
,sub
,aud
,exp
,nbf
,iat
, Undjti
. Fürexp
,nbf
, Undiat
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 derheader
Wenn dieNone
Algorithmus verwendet wird, wird dieses Feld ignoriert.public_key
: Ein öffentlicher String-Schlüssel für den Algorithmus, der in derheader
Wenn dieNone
,HS256
,HS384
, oderHS512
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
// 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
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...");