Flutter Логин в Instagram и файлы cookie

#flutter #session #cookies #webview #instagram

Вопрос:

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

С:

 onPageFinished: (String url) async {
                  String sourceCode = await controller
                      .evaluateJavascript("document.body.outerHTML");
                  if (url == "https://www.instagram.com/" amp;amp;
                      sourceCode.contains("window._sharedData =")) {
                    String cookies =
                        await controller.evaluateJavascript("document.cookie");
                    //new intent
                   
                    print(cookies);
                    setState(() {
                      visibility = false;
                    });
                  }
                },
 

Я проверяю, проходит ли перенаправление instagram.com, вход в систему выполнен успешно. После этого с помощью «document.cookie» я получаю файл cookie.

Проблема в том, что с «document.cookie» я получаю короткий файл cookie, который не полезен для запросов в instagram.

В браузере у него есть файл cookie, начинающийся с : ig_did (он длинный), но в моем приложении у меня есть файл cookie, начинающийся с : «mid=».

Я думаю о том, как получить или сгенерировать этот длинный файл cookie, если я не могу, я не могу запросить конечные точки.

Спасибо..

Ответ №1:

Проблема решена с помощью webview_cookie_manager 2.0.1; document.cookie недостаточно для получения всех файлов cookie с URL-адреса.