尝试从 JWT Gem 保护的 API 获取用户时"No verification key available"



我已经将jwt gem添加到gem文件中。我可以成功执行登录请求,并收到授权令牌。然后我使用授权令牌返回用户对象。这在开发中效果良好。

但是,在生产中,我无法使用授权令牌获取用户对象。我收到消息:没有可用的验证密钥。

我的搜索让我找到了这个,但这是为设计jwt我也遇到过这个,但没有那么大帮助。

来自heroku logs --tail --app stag的信息对没有真正的帮助

2020-11-25T20:15:30.493583+00:00 app[web.1]: I, [2020-11-25T20:15:30.493522 #4]  INFO -- : [398a1a9c-fae2-454a-b991-5a922a679103] [active_model_serializers] Rendered ActiveModel::Serializer::Null with Hash (0.07ms)
2020-11-25T20:15:30.493805+00:00 app[web.1]: I, [2020-11-25T20:15:30.493736 #4]  INFO -- : [398a1a9c-fae2-454a-b991-5h922a679973] Completed 422 Unprocessable Entity in 1ms (Views: 0.5ms | Allocations: 1356)

如有任何帮助,我们将不胜感激,谢谢。

最后,我找到了我的案例的解决方案。我不知道它是否对你有效,以下是我所做的:

首先,我使用Rails.application.secrets.secret_key_base作为JWT的密钥,在阅读了其他有同样问题但使用devise-jwt的帖子后,我说Rails secrets中的这个属性可能在Heroku中返回nil,所以我决定创建自己的密钥,确切地说,我只使用了一个名为secret_key的环境变量,然后引用它,我应该在JWT中使用它。

希望这会有所帮助。

相关内容

  • 没有找到相关文章

最新更新