【问题标题】:Error: error:0909006C:PEM routines:get_name:no start line错误:error:0909006C:PEMroutines:get_name:no start line
【发布时间】:2020-09-22 05:14:15
【问题描述】:

我正在尝试使用 jsonwebtoken 验证 jwt。当我使用时:

jwt.verify(jwt, publicKey)

我得到一个:

JsonWebTokenError {名称:“JsonWebTokenError”,消息:“无效 算法”,堆栈:“JsonWebTokenError:无效算法}

当我使用时:

jwt.verify(jwt, publicKey, { algorithms: 'RS256'}) 

我得到:

错误:错误:0909006C:PEM 例程:get_name:no start line

有什么想法吗?是否有替代方法来验证 jwt?

更新

问题可能出在 RS256 选择上。

【问题讨论】:

    标签: node.js jwt


    【解决方案1】:

    从上面的示例中,您在验证函数中引用了 jwt 实例

    使用链接npm-jsonwebtoken

    您必须验证令牌,而不是 jwt 实例 示例

    const jwt = require('jsonwebtoken')
    
    var decoded = jwt.verify(token, 'private_key');
    

    其中 'private_key' 是用于散列的确切密钥

    【讨论】:

      【解决方案2】:

      尝试传递具有受众和发行者属性的选项对象。

      let options = {
          clockTolerance: 60*24*10, 
          audience: "account",
          issuer: "https://login.someorganization/auth"
      };
      
      jwt.verify(jwt, publicKey, options);
      

      【讨论】:

        猜你喜欢
        • 2020-10-30
        • 1970-01-01
        • 2019-10-16
        • 2014-04-30
        • 2013-03-23
        • 2016-09-04
        • 2015-05-06
        • 2014-09-30
        • 1970-01-01
        相关资源
        最近更新 更多