arv*_*dir 1 javascript node.js node-modules
我需要创建一个 JWT(Json Web Token) ,我有 ES256 算法中的客户端凭据令牌。
要求 - > https://docs.talkdesk.com/docs/using-a-signed-jwt
所以我在本地安装了 Nodejs ,当我尝试完成这项工作时,它给了我错误,我是 javascript 的新手。有人可以帮我让它工作吗?
错误是internal/crypto/sig.js80
const http = require('http');
var jwt = require('jsonwebtoken');
var uuid = require('uuid/v4');
//create a server object:
var private_key = 'private_key goes here'
private_key = "-----BEGIN PRIVATE KEY-----\n" + private_key + "\n-----END PRIVATE KEY-----"
var header = {
kid: 'bdef4554463d8078be9af1d9de55'
}
var payload = {
iss: 'a57bb14a44455e98800d6a513953fc0',
sub: 'a57bb14a445541e98800d6a513953fc0',
aud: 'https://c2performdev.talkdeskid.com/oauth/token',
jti: uuid(),
exp: Math.floor(Date.now() / 1000) + 300,
iat: Math.floor(Date.now() / 1000)
}
token = jwt.sign(payload, private_key, {header: header, algorithm: 'ES256'})
Run Code Online (Sandbox Code Playgroud)
钥匙有问题。如果密钥没问题,相同的代码可以正常工作。
var fs = require("fs");
const http = require("http");
var jwt = require("jsonwebtoken");
var uuid = require("uuid/v4");
//create a server object:
var jwt = require("jsonwebtoken");
var private_key = fs.readFileSync("./private.pem");
var header = {
kid: "bdef4554463d8078be9af1d9de55"
};
var payload = {
iss: "a57bb14a44455e98800d6a513953fc0",
sub: "a57bb14a445541e98800d6a513953fc0",
aud: "https://c2performdev.talkdeskid.com/oauth/token",
jti: uuid(),
exp: Math.floor(Date.now() / 1000) + 300,
iat: Math.floor(Date.now() / 1000)
};
token = jwt.sign(payload, private_key, { header: header, algorithm: "ES256" });
console.log(token);
Run Code Online (Sandbox Code Playgroud)
我按照命令在 mac 中生成密钥。
openssl ecparam -genkey -name secp256k1 -noout -out private.pem
openssl ec -in private.pem -pubout -out public.pem
Run Code Online (Sandbox Code Playgroud)
主体是关键文件如下。
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEICu0QorVDVCvfc9JeiDlUxK4IJnx69vxOwLYZsPtVcmToAcGBSuBBAAK
oUQDQgAEQi9ENvV3eiN/hVed5eBqOTUa5v+olsdHk51RZbJNT7Rwz42tNSMrzucr
Jhn7xIOvQgw0NH5Tad+BE7ybIakSUg==
-----END EC PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)
这与您所做的不相符。尝试更正关键结构。
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |