Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Validates an incoming OAuth JWT with the error message and decoded payloads as return.

Code Block
JwtValidationResult validateJwt( 
string openIdServer, 
string token, 
map <string, any> claimsToValidate, //Optional
string algorithm //Optional)

Parameters

ParameterDescription
openIdServerThis is the URL for the JWKS server.
tokenThis refers to the JWT (Json Web Token) that needs to be validated.
claimsToValidateAn optional map field to declare the claims as well as the corresponding value to validate against the token.
algorithmAn optional field to verify the signing algorithm used by the token. The possible values could be RSA256, RSA384, RSA512, ECDSA256, ECDSA384, ECDSA512. By default, the APL function uses RSA256.
ReturnsAn JwtValidationResult UDR which consists of error message on validation failure and decoded payloads. The error message will be Null on validation success.



Info
titleExample
Example of the validateAndDecodeJwt function with optional values for claims and algorithm populated.
Code Block
string token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5Pbz";
map<string, any> claimsToValidate = mapCreate(string, any);
mapSet(claimsToValidate, "appidacr", "2");
mapSet(claimsToValidate, "aud", "ae47e8fd-b2be-4626-a7b5-19d28961ba1e");

JwtValidationResult result = (JwtValidationResult) JwtValidation.validateAndDecodeJwt("https://10.60.10.30/endpoint", token, claimsToValidate, "RSA512");

// To get the decoded payloads
map<string, any> claimsMap = result.claims;
debug(mapGet(claimsMap, "client_id"));

// To get the error message
debug(result.errorMessage);



This chapter includes the following section: