Как установить переменную окружения для репозиториев GitHub? - PullRequest
1 голос
/ 06 января 2020

Итак, я создаю веб-сайт в репозитории GitHub, на котором я пытаюсь реализовать Discord Login через OAuth2. Чтобы все это работало, мне нужно установить переменную окружения для идентификатора клиента и секрета. Как установить переменную среды в репозитории GitHub?

Ответы [ 3 ]

0 голосов
/ 06 января 2020

Совершенно нормально хранить разные идентификаторы и секреты клиентов для каждой среды внутри репозитория GitHub (при условии, что репозиторий является закрытым). Однако в идеале вы должны хранить свои идентификаторы клиентов и секреты для каждой из ваших сред в таблице базы данных . Затем в самом приложении вы просто будете ссылаться на указанную таблицу (используя строку подключения для каждой среды), чтобы получить идентификатор / секретный ключ, относящийся к этой конкретной c среде.

0 голосов
/ 06 января 2020

Как установить переменную env в репозитории github

Варианты env относятся только к машине, на которой работает бот (или веб-сайт).

Большинство хостинговые компании сегодня дают вам возможность редактировать переменные среды. Если вы используете github в качестве веб-хоста, возможно, посмотрите эту статью о github .

Допустим, у вас есть строка, которая должна быть в переменной token. Для вашей локальной разработки вы создаете файл, который просто устанавливает эту переменную. Обязательно исключите его из git, включив в свой .gitignore!

И в своем коде вы используете только этот файл IF env var не установлен. Например:

// load auth & other tokens
var token = null;
if (process.env.hasOwnProperty('TOKEN')) {
  token = process.env.TOKEN;
}
else {
  var auth = require('./discordauth.json');
  token = auth.token;
}

Оттуда вам просто нужно научиться устанавливать env vars на вашем конкретном хостинге. Создайте переменную env с именем TOKEN (для соответствия process.env.TOKEN в примере кода). Пример:

Содержимое файла discordauth.json:

{
"token": "XXXXXXXXXXXXX",
}

Значение env var TOKEN

XXXXXXXXXXXXX
0 голосов
/ 06 января 2020

Если вы не хотите раскрывать секреты в своем репозитории Github, вы можете использовать dotenv для локального управления ими. Вы храните секреты в файле .env на root вашего проекта. Не забудьте включить .env в файл .gitignore, чтобы он не отправлялся в систему управления версиями.

...