Вы получили ключ клиента и секрет клиента. Что теперь? Работа с секретами и учетными данными может выглядеть так, будто вы пытаетесь убрать свой бумажник во время отпуска на пляже, где нельзя носить одежду.

Хотя вы можете просто запомнить пароль, невозможно (в настоящее время) заставить вашу программу читать ваши мысли. Но… есть отраслевой стандарт, который проекты используют для хранения секретов… ну, секретов!

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

Но сначала…

⛔ Как не хранить свои секреты

Не храните его в исходном коде.

Я повторяю…

НЕ ХРАНИТЕ ВАШИ УЧЕТНЫЕ ДАННЫЕ В ИСХОДНОМ КОДЕ!

Это связано с тем, что ваши учетные данные будут переданы в проект, а затем отправлены в исходный репозиторий… НА ВСЕ МИР!

✅ Как сохранить свои учетные данные

В вашем проекте создайте файл .env .

Однако это важно: добавьте файл .env к вашему файлу .gitignore:

# .gitignore file
build
site_packages
.env

Теперь вы можете поместить учетные данные в файл .env:

CLIENT_KEY="UbNSUZixa2RCPW1mwIUhmDw5ky9zzExV"
CLIENT_SECRET="6GRovmCNYW7u2viDBruCt5nnJedJZM83"

Поместите их в формате, совместимом с оболочкой, или <variable_name>=<variable_value> без пробела.

Теперь в командной строке создайте файл .env:

$ source .env

Вы не увидите ничего особенного. Но что по существу произошло, так это то, что вы сказали своей ОС выполнить файл .env, сохраняя все переменные среды в текущем сеансе. Чтобы проверить, повторите одну из ваших переменных:

$ echo $CLIENT_KEY
UbNSUZixa2RCPW1mwIUhmDw5ky9zzExV

Но разве плохие парни этого не увидят?

Проницательный вопрос. Здесь я размахивал своими секретами повсюду. Наверняка кто-нибудь это увидит!

На самом деле ключи должны быть представлены как обычный текст в некоторой точке. В этом вся… суть.

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

Как читать секреты

После получения файла .env все переменные и значения могут быть прочитаны программами.

В большинстве языков есть пакет, который считывает переменные среды. В Python вы бы использовали os.getenv . В Node вы бы использовали process.env .

Вот как вы получаете значение из переменной среды в свою программу.

Узнать больше!

Хотите узнать больше о том, как получить секреты клиентов? Я показал вам самый минимум, чтобы (надеюсь) уберечь вас от проверок безопасности. Загляните в мою электронную книгу, чтобы узнать больше о том, как загрузить файл .env в свой проект.

Тебе понравилась эта статья? Поделитесь с другом или коллегой.

Хотите нанять разработчика? Зайдите на https://damngood.tech, чтобы записаться на бесплатную часовую консультацию!

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