从rails 5.1
升级到rails 5.2.3
后,我收到此弃用警告:
secrets.secret_token` is deprecated in favor of `secret_key_base` and will be removed in Rails 6.0. (called from <main> at /config/initializers/stripe.rb:3
如果我看条纹初始化程序,我会:
Rails.configuration.stripe = {
publishable_key: Rails.application.secrets.stripe_publishable_key,
secret_key: Rails.application.secrets.stripe_secret_key
}
因此没有提到secret.token
。如果我看着config.secrets.yml
,我有
test:
secret_key_base: some-key
stripe_secret_key: another_key
stripe_publishable_key: yet_another_key
那我为什么会收到弃用警告?
答案 0 :(得分:3)
Rails 5.2已用凭据替换了机密,以将加密的凭据或API密钥存储在其存储库中。您可以在以下文章中阅读有关从机密更改为凭据的更多信息。
https://medium.com/@wintermeyer/goodbye-secrets-welcome-credentials-f4709d9f4698
即使Rails 5.2已将密码替换为secret。您仍然可以使用秘密。但是,如警告消息所述,机密将从轨6中删除,您将使用凭据存储api密钥和secret_keys。