【问题标题】:Is it possible to set a postman variable from a value in a JWT token?是否可以从 JWT 令牌中的值设置邮递员变量?
【发布时间】:2021-04-14 07:40:06
【问题描述】:

我已将 Postman 配置为从我的身份提供者检索我的 JWT 访问令牌。我想将存储在访问令牌中的一些属性存储为变量(例如 sub、aud、范围)。

jwt.io 可以解码访问令牌,所以我想知道 Postman 中是否有任何东西(我找不到任何东西)或其他方式来做到这一点。

【问题讨论】:

标签: variables oauth-2.0 jwt postman access-token


【解决方案1】:

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) )

您可以尝试创建它并将两者等同起来

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2018-11-26
    • 1970-01-01
    • 2019-09-05
    • 2018-11-21
    • 1970-01-01
    • 2018-05-15
    • 2017-05-20
    • 2023-01-30
    相关资源
    最近更新 更多