【问题标题】:Node js JWT token not generated with RS256 algorithm节点 js JWT 令牌不是使用 RS256 算法生成的
【发布时间】:2019-10-08 18:00:35
【问题描述】:

我使用 JWT 来保护我的 node.js REST api 调用。 我使用以下代码生成令牌:

jwt.sign({ foo: 'bar' }, private_key, { algorithm: 'RS256'}, (err, token) => {
      res.json({
        token
      });

但是当我使用算法时我没有得到任何令牌:'RS256'。但上面的代码适用于算法:'HS256'。

你知道解决办法吗?

【问题讨论】:

  • 您没有显示私钥实际上是什么。你有任何错误吗?请点击编辑完成上面的代码,并为您的问题添加更多信息。
  • 您使用什么 npm 包来尝试生成 JWT?另外请将console.log(err, token); 添加到您的代码中并报告结果。
  • 如果你只是把不完整的问题扔掉然后不再反应,那就太浪费时间了

标签: node.js jwt express-jwt


【解决方案1】:

试试这个:

jwt.sign({ foo: 'bar' }, private_key, [{ algorithm: 'RS256'}, (err, token) => {
  res.json({
    token
  }}]);

在 npm 文档中出现这个 jwt.sign(payload, secretOrPrivateKey, [options, callback]) 所以像数组一样传递你的选项和回调。希望对您有所帮助

【讨论】:

  • [options, callback] 表示可选
猜你喜欢
  • 2018-11-02
  • 2020-11-04
  • 2021-05-31
  • 2022-01-27
  • 2018-12-26
  • 2022-07-28
  • 2022-01-14
  • 2018-02-01
  • 2017-03-20
相关资源
最近更新 更多