如何使用 rails 安全地存储 Google Api 密钥并在脚本中使用它们?
How to safely store Google Api keys with rails and use them in scripts?
我正在尝试安全地存储我在 rails 项目中使用的 Google api 密钥。我尝试将它存储在我的 secrets.yml 文件中,但如果我在我的 google 脚本 &key=ENV['google_api'] 中说它无法获取它。
我很确定这不是方法,但在谷歌搜索该主题后,我真的找不到明确的答案。谁能提供一些帮助?
谢谢,
托马斯
UPDATE,这是我用来获取布局文件中的密钥的代码:
问题,我仍然收到我的 api_key 是 "nil".
的错误
<script>
var GOOGLE_API_KEY="#{ENV['GOOGLE_API_KEY']}"
</script>
<%= javascript_include_tag "//maps.google.com/maps/api/js?v=3.23&key=#{ENV['GOOGLE_API_KEY']}&libraries=geometry,places&language=&hl=®ion=&callback=initMap"%>
您需要将脚本调用放入 application.html.erb 文件中,以便 ruby 可以解析 ENV['google_api']
。这是一个示例应用程序文件(在 HAML 中):
!!!
%html
%head
%title Pursuit
= stylesheet_link_tag 'application', media: 'all'
= csrf_meta_tags
:javascript
var GOOGLE_API_KEY="#{ENV['GOOGLE_API_KEY']}"
= javascript_include_tag 'application'
= javascript_include_tag "//maps.googleapis.com/maps/api/js?libraries=places&key=#{ENV['GOOGLE_API_KEY']}"
%body
= render 'layouts/menu'
.row
.col.m12.l10.offset-l1
= yield
我正在使用 figaro gem
。对我来说,将环境变量添加到 application.yml
文件中。
GOOGLE_API_KEY: there_put_the_key
然后在上面
app/views/layouts/application.html.erb
(如果您想将源代码添加到所有视图,您可以将此行添加到特定视图)只需添加此行
<%= javascript_include_tag "//maps.google.com/maps/api/js?key=#{ENV['GOOGLE_API_KEY']}" %>
我正在尝试安全地存储我在 rails 项目中使用的 Google api 密钥。我尝试将它存储在我的 secrets.yml 文件中,但如果我在我的 google 脚本 &key=ENV['google_api'] 中说它无法获取它。
我很确定这不是方法,但在谷歌搜索该主题后,我真的找不到明确的答案。谁能提供一些帮助?
谢谢, 托马斯
UPDATE,这是我用来获取布局文件中的密钥的代码: 问题,我仍然收到我的 api_key 是 "nil".
的错误 <script>
var GOOGLE_API_KEY="#{ENV['GOOGLE_API_KEY']}"
</script>
<%= javascript_include_tag "//maps.google.com/maps/api/js?v=3.23&key=#{ENV['GOOGLE_API_KEY']}&libraries=geometry,places&language=&hl=®ion=&callback=initMap"%>
您需要将脚本调用放入 application.html.erb 文件中,以便 ruby 可以解析 ENV['google_api']
。这是一个示例应用程序文件(在 HAML 中):
!!!
%html
%head
%title Pursuit
= stylesheet_link_tag 'application', media: 'all'
= csrf_meta_tags
:javascript
var GOOGLE_API_KEY="#{ENV['GOOGLE_API_KEY']}"
= javascript_include_tag 'application'
= javascript_include_tag "//maps.googleapis.com/maps/api/js?libraries=places&key=#{ENV['GOOGLE_API_KEY']}"
%body
= render 'layouts/menu'
.row
.col.m12.l10.offset-l1
= yield
我正在使用 figaro gem
。对我来说,将环境变量添加到 application.yml
文件中。
GOOGLE_API_KEY: there_put_the_key
然后在上面
app/views/layouts/application.html.erb
(如果您想将源代码添加到所有视图,您可以将此行添加到特定视图)只需添加此行
<%= javascript_include_tag "//maps.google.com/maps/api/js?key=#{ENV['GOOGLE_API_KEY']}" %>