Decode JWT Token in Jmeter: This tutorial will help you in decoding JWT token and sent by a server to the client.
First how to identify the string is JWT token or some other String generated by Server.
- If the string is JWT then string should contain 3 dots (header, body, Signature).
Recently most of the applications are using JWT for adding enough security to their application.
let us assume generated Jwt Token is like below
Create a BeanShell sampler with the below code
//jwt_token is the variable declared in user defined variables
//generally we can get the corrlated value instead of jwt_token
String response = vars.get("jwt_token");
byte decoded_response = Base64.decodeBase64(actualvalue);
// inserting decoded JWT token into B_IdToken
in the above bean shell sampler.
- first getting the JWT token into bean shell sampler.
- then splitting the string with .(dot). JWT will having 3 sections (header,body,Signature).
- taking the first index of the created array (if you want to decode the header section then change the index from 1 to zero in bean shell sampler ).
- replacing all _ values with slash(/).
- doing base 64 decode and adding it to JMeter variables.
executed the BeanShell sampler and below is the decoded response is below
if you want to capture values from JWT token the add JSON path extractor to a decoded variable from BeanShell sampler.