Мой код использует API с секретным ключом в нескольких местах. Как я могу загрузить код в GitHub, не загружая также мой ключ? - PullRequest
0 голосов
/ 06 марта 2019

Проект представляет собой Vue SPA, и несколько моих компонентов должны отправлять запросы GET к API с секретным ключом. В настоящее время я хочу загрузить проект на страницы GitHub, однако я не хочу загружать ключ.

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

Ответы [ 3 ]

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

Если вы используете ключ на стороне клиента, вы открываете его каждому пользователю приложения.

Если поместить его в переменную, это означает, что он присутствует только в одном месте исходного кода.Он все еще виден там и в каждом запросе, отправленном в API (где его легко найти с помощью вкладки «Сеть» в инструментах разработчика браузера).

Чтобы сохранить его в тайне, необходимо написать server-сторона код для доступа к API, а затем представить данные в ваше приложение Vue через какой-то другой механизм (как правило, собственный веб-сервис).

0 голосов
/ 06 марта 2019

Если вы не можете полагаться на сервер, чтобы сохранить его, как предложено выше, вы можете сохранить его в шаблоне переменной ENV.

auth.ENV.dist

NODE_ENV=''
PORT=''
# Set your database/API connection information here
API_KEY=''
API_URL=''

Примечание: это обычная практика для установки ключа авторизации в файле .ENV, и это гораздо более распространенная практика, чем получение его с сервера по разным причинам.IE, но не последняя причина: для безопасного извлечения этих параметров необходимо хранить другой токен аутентификации или использовать другие параметры (IP или аналогичные), относящиеся к среде развертывания.

Есть тоннстатей по этой теме, просто посмотрите, где и как используются файлы .ENV.

Это также позволяет разделить поведение вашей аутентификации в (IE) тестовой, промежуточной и производственной среде.

РЕДАКТИРОВАНИЕ:

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

0 голосов
/ 06 марта 2019

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

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