ruby-on-rails - 我应该把 key 放在我的 Rails 应用程序的什么地方?

标签 ruby-on-rails ruby push-notification ruby-on-rails-5 web-push

我正在尝试使用 gem webpush 在我的 Rails 应用程序中创建推送通知。

this part at tutorial他说:

“使用 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 的副本发送给他们即可。

链接:

dotenv

environment variables

secrets.yml

关于ruby-on-rails - 我应该把 key 放在我的 Rails 应用程序的什么地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504454/

相关文章:

ruby-on-rails - 优点和缺点 - Ruby on Rails

ruby-on-rails - 似乎无法使用 Rails 4 安装 rubocop gem

ruby-on-rails - 将在有序列表上分页

swift - 在锁屏模式下隐藏操作按钮 - iOS Notification Swift 4.2

ruby-on-rails - 在 Mac OSX Snow Leopard 上运行 Rails 时出现问题

ruby-on-rails - rails : Open link in new tab (with 'link_to' )

ios - 如何防止 IOS Swift 上的 OneSignal 在处理通知时打开 WebView

android - 找不到 Azure 通知中心的“调试”选项卡(新 UI)

ruby-on-rails - 如何处理来自 RoR 应用程序的信用卡? Stripe 在我的国家不可用

arrays - Ruby 中的数组切片 : explanation for illogical behaviour (taken from Rubykoans. com)