我一直在花几个小时,但不能提出任何解决方案。我已经搜寻了文档,以查看我缺少的东西,但找不到任何东西。
我正在使用Amazon S3使用JWT和Activestorage。我需要隐藏此键,然后才能投入GitHub。按照许多示例,这是我的credentials.yml.enc
文件的外观:
amazon:
key: <my access key for AWS S3>
secret: <my secret id for AWS S3>
jwt: <my jwt token encode/decode password>
我将其保存在我的storage.yml
文件中:
test:
service: Disk
root: <%= Rails.root.join("tmp/storage") %>
local:
service: Disk
root: <%= Rails.root.join("storage") %>
# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
amazon:
service: S3
access_key_id: <%= Rails.application.credentials[:amazon][:key] %>
secret_access_key: <%= Rails.application.credentials[:amazon][:secret] %>
region: us-east-1
bucket: your_own_bucket
我也尝试了
<%= Rails.application.credentials[Rails.env.to_sym][:amazon][:key] %>
如果我获得了控制台并尝试Rails.application.credentials[:amazon][:key]
或Rails.application.credentials.amazon[:key]
或任何其他变体,则始终是零。
Rails.application.credentials
给我:
=> #<ActiveSupport::EncryptedConfiguration:0x00007faf1284aa80
@key_path=#<Pathname:/Users/demiansims/Development/Beastly/beastly-
backend/config/master.key>, @content_path=#
<Pathname:/Users/demiansims/Development/Beastly/beastly-
backend/config/credentials.yml.enc>, @env_key="RAILS_MASTER_KEY",
@raise_if_missing_key=false, @encryptor=#
<ActiveSupport::MessageEncryptor:0x00007faf1287bb80
@secret=">^x04x9BhxFEbx00x8BxB3O5xDCx8ExA6b",
@sign_secret=nil, @cipher="aes-128-gcm", @aead_mode=true,
@verifier=ActiveSupport::MessageEncryptor::NullVerifier,
@serializer=Marshal, @options={:cipher=>"aes-128-gcm"}, @rotations=[]>,
@config={}
您的凭据文件可能无法保存更改。我也有同样的问题。我正在使用Sublime,EDITOR="subl --wait" bin/rails credentials:edit
会提出编辑器,但是何时保存文件。我从来没有解决过这个问题,所以我切换到了VI。EDITOR="vi" bin/rails credentials:edit
并解决了问题。现在一切都按预期工作。如果您不熟悉像我这样的vi命令,那么这些会很有帮助:
i
->"插入"将允许使用箭头键移动,删除并添加代码
esc
->完成编辑时,HIT Escape
:wq
->这将保存并退出文件。击中逃生后,只需输入:WQ
希望这对某人有帮助。
我认为您的credentials.yml.enc
格式存在问题:
amazon:
key: <my access key for AWS S3>
secret: <my secret id for AWS S3>
jwt: <my jwt token encode/decode password>
因此,您可以访问键,例如Rails.application.credentials.amazon[:key]