Закрытые ключи являются конфиденциальной информацией. Некоторые боты существуют для извлечения ключей API из Github. Я слышал ужасные истории о людях, у которых украли ключи API и с них выставили счет на сумму более 7000 долларов.

Одна случайная фиксация на Github, и ваши приватные ключи теперь с открытым исходным кодом и доступны для кражи. Будь осторожен.

Вот контрольный список того, как вы можете защитить конфиденциальную информацию от посторонних глаз.

  1. Создайте файл .gitignore в корневом каталоге вашего проекта. Это может быть создано при инициализации нового репозитория git.
  2. В корневом каталоге вашего проекта создайте файл с именем .env.
  3. Обязательно включите .env в файл .gitignore.
  4. В файле .env включите ключи API и любую другую конфиденциальную информацию, необходимую для вашего приложения. Обязательно сохраняйте каждый фрагмент данных в переменную. Например: API_KEY="798759034790543"
  5. Выполните следующую команду, чтобы установить dotenv: npm install dotenv
  6. Добавьте в начало файла следующий код, которому нужен ключ API: require(“dotenv”).config();
  7. Проверьте, работает ли dotenv, записав в консоль объект: console.log(process.env). Если все работает правильно, это должно включать переменные, которые вы сохранили в файле .env.
  8. Везде, где вам нужен доступ к ключу API, вы можете использовать следующий код: process.env.API_KEY. (Вы можете заменить API_KEY на любую переменную, которую вы объявили в своем файле .env)

Теперь, если вы запустите git add . и статус git, вы не должны видеть, что ваш файл .env и его конфиденциальная информация подготовлены для фиксации.

Имейте в виду, что описанные выше шаги должны работать, чтобы ваши ключи API были в безопасности на вашем внешнем интерфейсе. Могут быть дополнительные шаги, которые вы можете предпринять, чтобы обеспечить безопасность вашей серверной части, но это выходит за рамки этой статьи.

Примечание при использовании dotenv с React

Если вы создаете с помощью React, все переменные в вашем файле .env должны начинаться с REACT_APP_. React имеет встроенную функциональность для dotenv, которая не позволит ему работать иначе.

Например, ваш ключ API должен быть объявлен в файле .env следующим образом: REACT_APP_API_KEY="798759034790543". API_KEY="798759034790543" не будет работать.