TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #524 1.47K
Hola, Amigos! Сегодня начнем серию постов о банковских приложениях на Flutter. В таких проеках цена ошибок в безопасности намного выше, чем в обычных mobile-проектах. В нескольких частях разберем практические подходы к защите Flutter-приложений в банковском контексте.

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

1. Не храните данные в открытом виде

Сохранение токенов в SharedPreferences — прямой путь к компрометации:


final prefs = await SharedPreferences.getInstance();
prefs.setString("token", token);


Используйте зашифрованное хранилище:


final secureStorage = FlutterSecureStorage();

await secureStorage.write(
key: "access_token",
value: token,
);

final token = await secureStorage.read(key: "access_token");


2. Только token-based аутентификация

Cookies и сессии не подходят для банковских приложений. Токен должен добавляться ко всем запросам централизованно:


class AuthInterceptor extends Interceptor {
final FlutterSecureStorage storage;

AuthInterceptor(this.storage);

@override
void onRequest(RequestOptions options, handler) async {
final token = await storage.read(key: "access_token");
if (token != null) {
options.headers["Authorization"] = "Bearer $token";
}
handler.next(options);
}
}


3. Никогда не хардкодьте личные данные

API-ключи и токены не должны попадать в репозиторий:


const apiKey = "sk_test_123456";


Правильно:


const apiKey = String.fromEnvironment("API_KEY");


Передача через CI:


--dart-define=API_KEY=your_key_here



А что происходит, когда аутентификация уже выстроена, но трафик можно перехватить, а OTP проверяется на клиенте?

В следующей части разберем сетевую безопасность, SSL pinning и работу с OTP⚙️
  • 👍 21
  • 🔥 7
  • ❤ 4
  • 👎 1
  • 👀 1
More from @flutter_amiga
  1. Sep 9, 2026AI BOOST’26: выручка падает — что делают крупные digital-агентства и при чем здесь AI 22–2…
  2. Aug 18, 2026Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня посмотрим на чек-…
  3. Aug 13, 2026Hola, Amigos! Сегодня вышли Flutter 3.47 и Dart 3.13. Давайте вместе разберемся, что в них…
  4. Jul 31, 2026Дайджест июля Hola, Amigos! Собрали в одну подборку все полезные посты июля, которые вы мо…
  5. Jul 28, 2026Hola, Amigos! Сегодня посмотрим на один пакет, который может быть полезен в разработке - p…
  6. Jul 24, 2026Hola, Amigos! Сегодня мы вводим новую рубрику - обзоры правил для статического анализатора…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →