Защита ключей API во Flutter
При использовании публичного репозитория git есть возможность случайно раскрыть личный ключ API. Во Flutter есть много способов скрыть ключ API, но, по мнению кроссплатформенного разработчика и графического дизайнера Аадитьясива Сабаринатана, некоторые из них не работают, а другие не работают должным образом. Он разработал собственный метод работы с ключами API, которым поделился на dev.to.
Установка
- Для работы автор предлагает использовать следующий пакет.
Если вы используете его в проекте с null safety:
dependencies: flutter_dotenv: ^4.0.0-nullsafety.0
Если вы используете его в проекте без null safety:
dependencies: flutter_dotenv: ^3.1.0
- Создайте в корневом каталоге файл с именем
.env
. В него можно добавить свои секретные ключи API.
SUPER_SECRET_API_KEY=This is a super secret API key THIS_CAN_BE_CALLED_ANYTHING=This here can be anything like ut4ihyeFn49
Автор метода предупреждает: никогда не фиксируйте файлы .env
в системе управления версиями. Если вы используете систему контроля версий git, добавьте файл .env
в .gitignore
.
- После создания файла
.env
добавьте его как актив вpubspec.yaml
.
assets: - .env
Запуск программы
Чтобы запустить программу, введите следующую команду:
flutter pub get
В файле main.dart
загрузите файл .env
:
import 'package:flutter_dotenv/flutter_dotenv.dart' as DotEnv; Future main() async { await DotEnv.load(fileName: ".env"); //...runapp }
Теперь в коде можно загружать переменные из файлы .env
в любом месте следующим образом:
import 'package:flutter_dotenv/flutter_dotenv.dart'; env['SUPER_SECRET_API_KEY'];
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: