"No verification key available" 尝试从受 JWT Gem 保护的 API 获取用户时
"No verification key available" when attempting to get User from API secured by JWT Gem
我已将 jwt gem 添加到 gem 文件。我可以成功执行登录请求,并收到授权令牌。
然后我使用授权令牌 return 用户对象。
这在开发中工作正常。
但是,在生产中,我无法使用授权令牌获取用户对象。
我收到消息:没有可用的验证密钥。
我的搜索让我找到了 但这是针对 devise-jwt
我也遇到了 this 但它不是很有帮助。
来自 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
的其他帖子后,我说也许 [=19= 中的这个属性] secrets 在 Heroku 中返回 nil,所以我决定创建自己的密钥,而我所做的正是,我只是使用了一个名为 secret_key 的环境变量,然后引用它,我应该在 JWT 中使用它。
希望这对您有所帮助。
我已将 jwt gem 添加到 gem 文件。我可以成功执行登录请求,并收到授权令牌。 然后我使用授权令牌 return 用户对象。 这在开发中工作正常。
但是,在生产中,我无法使用授权令牌获取用户对象。 我收到消息:没有可用的验证密钥。
我的搜索让我找到了
来自 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
的其他帖子后,我说也许 [=19= 中的这个属性] secrets 在 Heroku 中返回 nil,所以我决定创建自己的密钥,而我所做的正是,我只是使用了一个名为 secret_key 的环境变量,然后引用它,我应该在 JWT 中使用它。
希望这对您有所帮助。