【问题标题】:Which JsonWebToken library can I use in Postman我可以在 Postman 中使用哪个 JsonWebToken 库
【发布时间】: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 definedwindow is not definednavigator is not defined。我不介意复制缩小的 js 并进行一些小的更改并将其存储为全局变量,我只是不知道要进行哪些更改。

任何人都可以向我指出一个可以像这样工作的库的方向,或者只是告诉我我需要进行哪些更改才能解决窗口或模块错误?

谢谢

    标签: jwt postman


    【解决方案1】:

    我不知道这是否有帮助,但我一直在使用列表中的这个库https://github.com/kjur/jsrsasign/blob/master/jsrsasign-all-min.js

    首先,我得到了关于窗口和导航器的错误,但它们只是在我的指令中声明了一些错误,如下所示:

    const navigator = {}; //fake a navigator object for the lib
    const window = {}; //fake a window object for the lib
    eval(pm.globals.get('jsrsasign-js')); //import javascript jsrsasign
    const signedRO = KJUR.jws.JWS.sign("RS256", header, payload, jwk);
    

    这对我来说可以生成 RS256 jwt。

    问候

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2019-12-18
      • 2013-10-17
      • 1970-01-01
      相关资源
      最近更新 更多