首页 > 解决方案 > Rails.application.credentials.dig(:secret_key_base) 在 Heroku 生产中返回 nil

问题描述

我将我的项目部署在 Heroku 上进行生产测试。

在开发环境中,我可以Rails.application.credentials.dig(:secret_key_base)用来获取 JWT 身份验证的密钥库:

    # example
    def decode(token)
      key = Rails.application.credentials.dig(:secret_key_base)
      JWT.decode(token, key)
    end

但是当我在 Heroku 中使用它时,它返回“nil”。我尝试通过在控制台中输入它,rails console它返回“nil”。

我该怎么做才能使其在生产中可用?

标签: ruby-on-railsheroku

解决方案


为了decrypt凭证文件,您需要RAILS_MASTER_KEY在您的environment.

您需要从config/master.keyHeroku 仪表板的环境中获取值并将其添加到环境中。


推荐阅读