[英]How I can read the encrypted file created with the gem called rails-env-credentials on Ruby?
我目前正在做一个项目,我必须加密 id 和密码,所以我决定使用名为rails-env-credentials
https://github.com/sinsoku/rails-env-credentials的 gem
似乎为开发创建一些文件很好,但我无法在控制台或 web 上读取该文件。
我想这可能是因为我没有设置一些我没有想到的东西,或者我试图以错误的方式获得价值。
使用这样的命令 rails env_credentials:edit -e development
,我制作了 config/credentials/development.yml.enc ,其中加密了这个字符串
aws:
access_key_id: 123
secret_access_key: 345
在 config/credentials/development.key 文件中,会自动创建类似这样的内容。
<rails secret key>
我希望通过调用它来获取文件的值。
Rails.application.credentials.aws
但我得到nil
。
当我在控制台上执行Rails.application.credentials
时,我得到了这样的结果。
#<ActiveSupport::EncryptedConfiguration:0x000055882a4965f8
@key_path=#<Pathname:config/master-development.key>,
@content_path=#Pathname:config/credentials-development.yml.enc>,
@env_key="RAILS_MASTER_KEY_DEVELOPMENT",
@raise_if_missing_key=false, @config={}, @options={}>
由于没有错误,我在同一个地方堆了好几天。 如果您有任何想法,请告诉我。 我真的很感激。
编辑****
在加密文件中,有这样的东西。 而且我想我试图像从 hash 获取价值的方式那样获取价值,但我无法正确获取它。
我试过类似的东西
我很抱歉,但我没有解决这个问题的想法......
我必须对 master.key 做些什么吗?
这是读取凭据的方式
Rails.application.credentials.dig(:aws, :access_key_id)
Rails.application.credentials.dig(:aws, :secret_access_key)
阅读凭据的简单方法
Rails.application.credentials.aws[:access_key_id]
Rails.application.credentials.aws[:secret_access_key]
如果您仍然卡在那里,那么这就是读取凭据的方式
Rails.application.credentials.config.dig(:aws, :access_key_id)
Rails.application.credentials.config.dig(:aws, :secret_access_key)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.