TGViewer
Flutter. Много Flutter. Много @flutter_amiga · 2.96K subscribers
Post #420 1.91K
Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Иногда при запросах к серверу нам не хватает заголовков, и нужно использовать Cookies, хотя это что-то из мира Web-разработки.

Cookies — данные, которые нам отдает сервер, чтобы при дальнейших запросах мы их вернули. Это может использоваться для:

⚙️ аутентификации пользователя;
⚙️ определения сессий (например, мы определяем, что пользователь открыл приложении и пользуется им);
⚙️ хранение каких-либо данных (например, корзины).

Давайте рассмотрим, как мы можем с ними работать на Flutter.

Если мы используем пакет http или его производные, то нам понадобится библиотека cookie_jar. В случае работы с dio, есть dio_cookie_manager. Работают они одинаково — вторая библиотека это надстройка над первой.

Сначала нужно определить, как будут храниться наши Cookie. Существует 2 варианта — обычный CookieJar, который сохраняет в ОЗУ, и PersistentCookieJar, который сохраняет в постоянную память.

Давайте создадим PersistentCookieJar и добавим его к dio:


Future<void> prepareJar() async {
final Directory appDocDir = await getApplicationDocumentsDirectory();
final String appDocPath = appDocDir.path;
final jar = PersistCookieJar(
ignoreExpires: true,
storage: FileStorage(appDocPath + "/.cookies/"),
);
dio.interceptors.add(CookieManager(jar));
}


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

Если установлен параметр ignoreExpires, то значит приложение или библиотека игнорируют срок годности Cookie и продолжают его использовать, даже если он истек.

Делитесь в чате, добавляли работу с Cookies на своих проектах?
  • 🔥 7
  • 👍 4
  • ❤ 3
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 →