我在Postman中有以下预请求脚本,我尝试使用它来获取RS 512签名令牌。我尝试使用crypto-js,但从我所读到的内容来看,它仅是对称密钥,因此不支持RS 512算法
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,做一些小的修改,并将其存储为全局变量,我只是不知道要做哪些修改。
有人能给我指出一个像这样工作的库的方向吗?或者告诉我需要做什么修改才能解决窗口或模块错误?
谢谢你
1条答案
按热度按时间uqzxnwby1#
我不知道这是否有帮助,但我一直在使用列表https://github.com/kjur/jsrsasign/blob/master/jsrsasign-all-min.js中的此库
首先,我得到了那些关于窗口和导航器的错误,但他们被修复只是在我的规定中声明了一些,像这样:
这对我产生一个RS256 jwt工作。
此致