问题描述
我使用该服务的 API。 该示例表明您需要使用 .pem 文件,尽管它们本身只发布公钥和私钥 RSA_2048 密钥。 有没有办法使用 https://github.com/cisco/node-jose 库并根据这些键生成 JWT 令牌? 在这个例子中,我只看到这个:
var jose = require('node-jose');
var fs = require('fs');
var key = fs.readFileSync(require.resolve('private.pem'));
var serviceAccountId = 'ajepg0mjt06siua65usm';
var keyId = 'lfkoe35hsk58aks301nl';
var Now = Math.floor(new Date().getTime() / 1000);
var payload = { aud: "https://iam.api.cloud.yandex.net/iam/v1/tokens",iss: serviceAccountId,iat: Now,exp: Now + 3600 };
jose.JWK.asKey(key,'pem',{ kid: keyId,alg: 'PS256' })
.then(function(result) {
jose.JWS.createSign({ format: 'compact' },result)
.update(JSON.stringify(payload))
.final()
.then(function(result) {
// result
});
});
我在这里问,因为堆栈上的答案更快:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)