ruby-on-rails - 有没有办法在 ruby 非 rails 项目中使用 Rails.application.credentials?
问题描述
我需要从另一个应该共享相同模型和数据库的 ruby 项目(实际上是 AWS lambda)访问 rails 项目的加密凭证。数据库连接字符串在 rails 凭证文件中加密。
有没有办法让非 Rails ruby 项目访问加密的凭据数据,因为它可以访问 master.key 文件?
解决方案
解决了自己在 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 文件。
推荐阅读
- reactjs - 反应上下文 - Context.Consumer 与 Class.contextType
- javascript - 函数在for循环结束的ajax调用之前返回
- python - 如何获取在某个日期范围内登录 Windows 计算机的所有用户详细信息(至少是用户名)
- python - Textract - AttributeError:“模块”对象没有属性“进程” - 指向不存在的文件
- c# - 如何根据ICD代码获取WHO疾病ICD描述?
- java - 如何在当前的 sessoin 中重置为 jshell 中的默认编辑器?
- javascript - 使用 Redux 和 react-testing-library 测试 React 组件
- cordova - AWS Cognito 日志记录
- javascript - javascript中循环引用有什么用
- google-apps-script - 范围的坐标或尺寸无效。- 使用按钮移动行