Ced*_*Ced 2 node.js jwt json-web-token auth0
我正在尝试验证jwt使用该RS256算法的情况.使用hs256算法时一切正常
let opts = {
audience: 'y',
issuer: `https://x.auth0.com/`,
algorithms: ["RS256"]
}
jwt.verify(payload.token, 'secret', opts, (err, decoded) => {
if (err) {
console.log("invalid token in iamonline service " + err.message);
return;
}
Run Code Online (Sandbox Code Playgroud)
我一直收到错误: PEM_read_bio_PUBKEY failed
虽然auth0有文件要这样做,但它假设你使用的是快递,我不是.我在websocket上这样做,所以没有中间件.
恼人的一点HS256对我来说没问题,但auth0自定义登录表单似乎需要RS256.
ped*_*ofb 11
RS256 需要公钥来验证,但是你提供了一个字符串
jwt.verify(payload.token, 'secret', opts, (err, decoded) => {
Run Code Online (Sandbox Code Playgroud)
请参阅auth0的文档
jwt.verify(token,secretOrPublicKey,[options,callback])
token是JsonWebToken字符串
secretOrPublicKey是一个字符串或缓冲区,包含HMAC算法的秘密,或者包含RSA和ECDSA的PEM编码公钥.
您需要提供PEM公钥而不是secret.PEM文件内容将以-----BEGIN PUBLIC KEY-----
var publicKey = fs.readFileSync('public.pem');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3523 次 |
| 最近记录: |