【发布时间】:2022-09-23 01:05:23
【问题描述】:
我在 Postman 中有以下预请求脚本,我试图用它来获取 RS512 签名令牌。我尝试使用crypto-js,但从我读到的,它只是对称密钥,所以它不支持RS512算法
pm.sendRequest(\"https://cdnjs.cloudflare.com/ajax/libs/jsrsasign/8.0.20/jsrsasign-all-min.js\", (error, response) => {
if (error || response.code !== 200) {
pm.expect.fail(\'Could not load external library\');
}
var text = response.text();
eval(text);
var pvtKey = pm.environment.get(\'private-secret-key\') || \'\'
var jwtSecret = \'-----BEGIN RSA PRIVATE KEY-----\\n\'
jwtSecret += pvtKey + \'\\n\'
jwtSecret += \'-----END RSA PRIVATE KEY-----\';
var currentTimestamp = Math.floor((new Date()).getTime() / 1000);
var jwtPostPayload = {
\'iat\': currentTimestamp,
\"name\": \"John Doe\"
};
var token = sign(jwtPostPayload, jwtSecret, { algorithm: \'RS512\' })
pm.environment.set(\'jwt-signed\', token);
});
我现在的问题是我导入的所有库似乎都不起作用。我已经尝试了所有这些https://jwt.io/libraries?language=JavaScript 并且我得到module is not defined 或window is not defined 或navigator is not defined。我不介意复制缩小的 js 并进行一些小的更改并将其存储为全局变量,我只是不知道要进行哪些更改。
任何人都可以向我指出一个可以像这样工作的库的方向,或者只是告诉我我需要进行哪些更改才能解决窗口或模块错误?
谢谢