我试图使用npm包simple-jwt构造一个JWT断言。我的OAuth2请求所需的算法是RS256。下面是对编码方法的调用。
java/lang/String
堆栈跟踪如下:
错误:错误:0906D06C:PEM例程:PEM_read_bio:Sign.sign上的错误(本机)处没有起始行(crypto.js:279:26)at sign(/Users/Aaron/Sites/app.barmehealth.com /auth_api/node_modules/jwt-simple/lib/jwt.js:181:57)
据我所知,在jwt.js第181行调用以下方法后会出现问题:
var claims = {
'iss': 'veds3i33z1fx6dle7iv3z344zbwy6miv',
'sub': '54',
'box_sub_type': 'user',
'aud': 'https://api.box.com/oauth2/token',
'jti': 'M4yeY3W63TxHa9jFek85',
'exp': exp
};
var options = {
header: {
'kid': '8nkq5s45'
}
};
var token = jwt.encode(claims, 'fakesecret', 'RS256', options);
我在crypto npm包中找不到crypto.js文件,所以我不知道如何进一步调试。但是,当我像这样控制方法时,方法就在那里:console.log(crypto.createSign);