Защита ключей 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'];

Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: