Каков наилучший подход для хранения / загрузки ключей API для приложения-флаттера? - PullRequest
3 голосов
/ 01 июля 2019

Как упомянуто в заголовке, я пытаюсь надежно сохранить ключ API и загрузить его для использования всякий раз, когда приложению это необходимо. Согласно информации, полученной мною до настоящего времени (пожалуйста, исправьте меня или добавьте, если что-то не так или недостаточно), я могу попробовать следующие методы:

  1. Позвольте файлу, содержащему секретный ключ, остаться вне пакета; например, сохранение ключа в переменной среды или в коде на стороне сервера (затем вызов HTTP-запроса для получения данных).

  2. Либо / и запутываем, либо / и шифруем ключ перед его сохранением.

  3. Использовать встроенную систему хранилища ключей, такую ​​как flutter_secure_storage.

  4. Если ключ хранится локально, а приложение отправляется на github, добавьте имя файла в .gitignore, чтобы предотвратить фиксацию файла.

В результате мой план таков:

1) Сохраните ключ в переменной окружения на моем локальном компьютере -> 2) Создайте API, который отправляет ключ клиенту, в моем коде на стороне сервера -> 3) На стороне клиента сохраните полученный ключ, используя библиотека flutter_secure_storage (шифрование пары ключей RSA).

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

Однако мне все еще не ясно, правильны ли мои представления и подходы. Любой совет будет оценен. Спасибо.

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