是否可以根据 JWT 令牌中的值设置邮递员变量?
Is it possible to set a postman variable from a value in a JWT token?
我已将 Postman 配置为从我的身份提供者检索我的 JWT 访问令牌。我想将存储在访问令牌中的一些属性存储为变量(例如 sub、aud、scope)。
jwt.io 可以解码访问令牌,所以我想知道 Postman 中是否有任何东西(我找不到任何东西)或其他一些方法可以做到这一点。
Postman 支持 cryptojs 库:https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/#using-external-libraries
将以下示例添加到邮递员测试脚本中:
let jwt = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0b3B0YWwuY29tIiwiZXhwIjoxNDI2NDIwODAwLCJodHRwOi8vdG9wdGFsLmNvbS9qd3RfY2xhaW1zL2lzX2FkbWluIjp0cnVlLCJjb21wYW55IjoiVG9wdGFsIiwiYXdlc29tZSI6dHJ1ZX0.UsrGn95rk5DStcC_WwIr3WIv5rHe2IApX56I58l8uyo`
a = jwt.split('.');
//a.forEach(function (val) {
var words = CryptoJS.enc.Base64.parse(a[1]);
var textString = CryptoJS.enc.Utf8.stringify(words);
console.log(textString)
//})
输出:
hmacSHA256 不是一种加密算法,而是一种散列算法,因此无法对其进行解码,因为散列是单向函数。
因为最后一部分是表格
HMACSHA256 of ( base64(header) + "." + base64(body) )
您可以尝试创建它并等同于两者相等
我已将 Postman 配置为从我的身份提供者检索我的 JWT 访问令牌。我想将存储在访问令牌中的一些属性存储为变量(例如 sub、aud、scope)。
jwt.io 可以解码访问令牌,所以我想知道 Postman 中是否有任何东西(我找不到任何东西)或其他一些方法可以做到这一点。
Postman 支持 cryptojs 库:https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/#using-external-libraries
将以下示例添加到邮递员测试脚本中:
let jwt = `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ0b3B0YWwuY29tIiwiZXhwIjoxNDI2NDIwODAwLCJodHRwOi8vdG9wdGFsLmNvbS9qd3RfY2xhaW1zL2lzX2FkbWluIjp0cnVlLCJjb21wYW55IjoiVG9wdGFsIiwiYXdlc29tZSI6dHJ1ZX0.UsrGn95rk5DStcC_WwIr3WIv5rHe2IApX56I58l8uyo`
a = jwt.split('.');
//a.forEach(function (val) {
var words = CryptoJS.enc.Base64.parse(a[1]);
var textString = CryptoJS.enc.Utf8.stringify(words);
console.log(textString)
//})
输出:
hmacSHA256 不是一种加密算法,而是一种散列算法,因此无法对其进行解码,因为散列是单向函数。
因为最后一部分是表格
HMACSHA256 of ( base64(header) + "." + base64(body) )
您可以尝试创建它并等同于两者相等