首页 > 解决方案 > 有没有办法在 ruby​​ 非 rails 项目中使用 Rails.application.credentials?

问题描述

我需要从另一个应该共享相同模型和数据库的 ruby​​ 项目(实际上是 AWS lambda)访问 rails 项目的加密凭证。数据库连接字符串在 rails 凭证文件中加密。

有没有办法让非 Rails ruby​​ 项目访问加密的凭据数据,因为它可以访问 master.key 文件?

标签: ruby-on-railsruby

解决方案


解决了自己在 github 中查看 ruby​​/ruby 存储库的问题。您需要导入 ActiveSupport。在红宝石中,您只需:

require 'active_support/encrypted_configuration'

然后

credentials = ActiveSupport::EncryptedConfiguration.new(config_path: <path/to/credentials.yml.enc>, key_path: <path/to/master.key>, env_key: <YOUR_RAILS_MASTER_KEY>, raise_if_missing_key: true)

您现在可以挖掘该文件,因为它是已加载的 YAML 文件。


推荐阅读