我正在使用jsrsasign签署身份令牌。我收到以下错误:
错误:init失败:TypeError:undefined不是函数
这是我的代码:
var express = require('express');
var bodyParser = require('body-parser')
var fs = require('fs')
var jsrsasign = require('jsrsasign');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.post('/authenticate', function(req, res) {
//create header, claim, and read privateKey from a file
.....
var jws = null;
try {
jws = jsrsasign.jws.JWS.sign("RS256", header, claim, privateKey);
} catch(e) {
return res.status(500).send('Could not create signature. Error: ' + e + '\n Header: ' + header + '\n Claim: ' + claim + "\n PrivateKey: \n" + privateKey);
}
变量 - header,claim和privateKey - 都有一个值。 jsrsasign.jws.JWS.sign是失败的部分。
在理解这个错误的含义时,我将不胜感激。谢谢。
答案 0 :(得分:1)
我解决了这个问题。
我改变了从文件中读取私钥的方式。
privateKey = fs.readFileSync('keys/layer-key.js');
到
privateKey = fs.readFileSync('keys/layer-key.js').toString();