Как правильно скрыть API-keys?

Всем привет. Сейчас разрабатываю pet-проект для получения актуальной погоды по текущей локации, либо по городу.

В общем, у меня там используются два API ключа: один геодекодер и другой для предоставления данных о погоде. У меня дома и комп, и ноут, когда устаю сидеть за компом, то пушу проект в гитхаб и потом иду ложусь на кровать, беру ноут и стягиваю актуальный проект и продолжаю разработку.

В общем, пушатся и Api-keys, которые нужны для запросов. Что делать, чтобы твоими ключами не злоупотребляли? (Вопрос вообще касается даже не конкретно этого случая, а в целом о конфиденциальной разработки).

Я правильно понимаю, что если добавить файл, где хранятся Api-keys в .gitignore, то мне потом нужно будет этот файл стягивать откуда-то (возможно, создать приватный репозиторий и туда закидывать отдельно этот файл? Потом отдельно стягивать этот файл)?

Проект чистый на HTML/CSS/JS, а ключи храню в файле variables.js.


Ответы (1 шт):

Автор решения: RSK

Через переменные окружения. В проекте создаётся файл .env и в нём пишете

api_key=какой_то_ключ

в gitignore добавляем его

*.env

устанавливаем библиотеку

npm install dotenv --save

Импортируем

import dotenv from 'dotenv';
dotenv.config();

и можно использовать в коде

const api_key = process.env.api_key;

Теперь у вас переменные хранятся в окружении и не попадают в github Для нового устройства просто скопировать его и добавить

→ Ссылка