Как добавить ключи API и другие безопасные вещи в heroku? - PullRequest
4 голосов
/ 22 сентября 2010

Я где-то читал, но, похоже, не могу найти, куда добавить секретные ключи в Heroku без необходимости помещать его в репозиторий git с исходным кодом?

Я полагаю, что это помогает обеспечить его безопасность при загрузке в github.

Как мне это сделать, и имеет ли это смысл?

Ответы [ 2 ]

2 голосов
/ 22 сентября 2010

http://docs.heroku.com/config-vars

Затем добавьте ключи разработки в инициализатор:

#config/initializers/keys.rb

development:
  SOME_KEY = 'abc123' #not your production key

testing:
  SOME_KEY = 'abc123' #not your production key

#production:
  #blank

При желании добавьте инициализатор в .gitignore. Не требуется, поскольку ваш производственный ключ не хранится.

1 голос
/ 19 марта 2019

Как предположил Марк, лучшим способом было бы изменение среды Heroku.Вы можете прочитать о них здесь :

. Для этого вам необходимо использовать Heroku CLI , который необходимо загрузить и установить в зависимости от операционной системы.Не забудьте настроить Heroku CLI с помощью этих 3 шагов:

$ heroku login $ cd ~/myapp $ heroku create (your Heroku app name)

Теперь пришло время настроить конфигурационную переменную.Команда:

$ heroku config:set <ENVIRONMENT_VARIABLE>=<VALUE>

например, я собираюсь сохранить свой ключ API здесь как конфигурационную переменную:

$ heroku config:set DARKSKY_API_KEY=8e11111111162218d22222222229cc22222c6

и теперь пришло время использовать его в коде на стороне сервера,Для Nodejs вы можете получить к ним доступ:

process.env.DARKSKY_API_KEY

примерно так:

  const weatherURL =`https://api.darksky.net/forecast/${process.env.DARKSKY_API_KEY}/${latitude},${longitude}?units=si`;

Для других языков, таких как Ruby, Java, ... отметьте эту ссылку .

Вы можете просмотреть свои конфигурационные переменные, набрав:

$ heroku config

или удалив конфигурационную переменную:

$ heroku config:unset DARKSKY_API_KEY

Кроме того, я думал о файле .env дляКонфигурация героев vars, что мы можем редактировать их локально, а затем загрузить их на heroku.Наконец, я придумала это решение.

Чтобы локально сохранить cofig vars из heroku и иметь возможность изменять их локально в файле, позже по дороге, когда это необходимо, мы можем запустить:

$ heroku config | sed 's/: */=/g; /^=/d' >> HEROKU_CONFIG_ENV.env

, что HEROKU_CONFIG_ENV.envэто просто имя файла, и вы можете называть как угодно. Этот скрипт сохранит файл HEROKU_CONFIG_ENV.env в корне вашего проекта.

После изменения ключей пришло время загрузить их в Heroku и установитьКонфигурация героев vars, запустив:

$ heroku config:set $(cat HEROKU_CONFIG_ENV.env | sed '/^$/d; /#[[:print:]]*$/d') 

и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...