我试图使用jwt gem。我根据文档中的建议设置了所有内容。当我点击我的端点并传递标题时,我得到上述错误。我已将其缩小到第61行的verify_rsa方法。
def verify_rsa(algorithm, public_key, signing_input, signature)
public_key.verify(OpenSSL::Digest.new(algorithm.sub('RS', 'sha')), signature, signing_input)
end
public_key局部变量是抛出错误的原因。这是一个字符串。我甚至不确定在哪里找到被调用的验证方法。我看到的唯一一个是在decode.rb中它并没有采用4个参数。任何帮助将非常感激。我使用jwt版本1.5.6。
答案 0 :(得分:0)
我刚刚遇到了同样的问题,以下是如何将存储为纯字符串的公钥转换为支持 JWT 的 OpenSSL PublicKey 对象:
public_key = OpenSSL::PKey.read(public_key)