gpt4 book ai didi

javascript - 如何使用 Node.js javascript 创建 jwt

转载 作者:行者123 更新时间:2023-12-02 23:00:59 25 4
gpt4 key购买 nike

我需要创建一个 JWT(Json Web Token),我有 ES256 算法中的客户端凭据 token 。

需求-> 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'})

最佳答案

key 有问题。如果 key 没问题,相同的代码可以正常工作。

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);

我按照命令在 mac 中生成 key 。

openssl ecparam -genkey -name secp256k1 -noout -out private.pem
openssl ec -in private.pem -pubout -out public.pem

主体是关键文件如下。

-----BEGIN EC PRIVATE KEY-----
MHQCAQEEICu0QorVDVCvfc9JeiDlUxK4IJnx69vxOwLYZsPtVcmToAcGBSuBBAAK
oUQDQgAEQi9ENvV3eiN/hVed5eBqOTUa5v+olsdHk51RZbJNT7Rwz42tNSMrzucr
Jhn7xIOvQgw0NH5Tad+BE7ybIakSUg==
-----END EC PRIVATE KEY-----

这与您所做的不相符。尝试更正 key 结构。

关于javascript - 如何使用 Node.js javascript 创建 jwt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57787685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com