2016-07-23 77 views
0

我是Heroku的新手。你如何在Heroku中隱藏你的API密鑰?我知道從文檔我可以使用配置增值服務使用Rails在Heroku中隱藏Google API密鑰

https://devcenter.heroku.com/articles/config-vars 

但是,我如何從JavaScript加載配置? 我想要做的就是這樣的事情

https://developers.google.com/maps/documentation/javascript/tutorial 

我使用Ruby on Rails的我的應用程序。

+3

[Rails的4.1推祕密的Heroku(HTTP的可能重複:// stackoverflow.com/questions/21894761/rails-4-1-pushing-secrets-to-heroku) –

回答

2

使用API​​密鑰而不將它們提交到代碼中的一個好方法是使用環境變量。這些變量是在用於爲代碼中可引用的Rails應用程序使用的系統的shell中設置的。在Heroku上,您將設置一個環境變量,而不是在標準Linux服務器上。

首先,在你的Rails應用程序,你會插入一個環境變量這樣的值:ENV["MY_API_KEY"]

棒,凡是你需要把你的API密鑰的Rails應用程序,然後設置環境變量在此命令的Heroku API密鑰:heroku config:set MY_API_KEY=some_long_example_api_key_09823098270098

現在,在您的Rails應用程序時,您使用ENV["MY_API_KEY"]將在地方插入時,您的應用程序在Heroku上運行值some_long_example_api_key_09823098270098

如果你想一個.js.erb文件中引用的環境變量,你就需要把它寫成<%= ENV["MY_API_KEY"] %>

Heroku documentation