有没有办法在ruby非Rails项目中使用Rails.application.credentials



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

如果非rails ruby项目可以访问master.key文件,那么它是否有办法访问加密的凭据数据?

解决了我在github中查看ruby/ruby repo的问题。您需要导入ActiveSupport。在ruby中,你只是:

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文件。