我正在尝试使用 gem webpush 在我的 Rails 应用程序中创建推送通知。
“使用 webpush 生成一个同时具有 public_key 和 private_key 属性的 VAPID key 保存在服务器端。”
# One-time, on the server
vapid_key = Webpush.generate_key
# Save these in your application server settings
vapid_key.public_key
vapid_key.private_key
我的疑问是:“应用程序服务器设置”到底是什么?我应该将这些 key 放在我的 Rails 应用程序的什么位置?
最佳答案
理想情况下,它应该存储在 环境变量
中(取决于您使用的操作系统)。
如果您正在使用 dotenv
gem 并发现在生产中使用 dotenv
很方便,您可以将其存储在 .env
文件中。
要使用变量,请使用 ENV['NAME']
此外,您还可以使用默认的 Rails config/secrets.yml
文件。要使用变量,请使用 Rails.application.secrets.name
。
您还可以将 env 变量与 secrets.yml 文件结合起来,例如:
secret .yml
...
key: ENV['NAME']
好处:使用独立于 Rails 环境的变量。
注意:切勿将您的凭据文件共享到 git 或任何公共(public)存储库!如果您需要与其他开发人员共享此文件,只需将带有开发 key 的副本发送给他们即可。
链接:
关于ruby-on-rails - 我应该把 key 放在我的 Rails 应用程序的什么地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504454/