Как сохранить данные пользователя Chrome в процессе перезапуска Flutter Web приложения?
Пишу web приложение на Flutter с авторизацией OAuth2. При перезапуске Chrome
в режиме дебага пароль в профиле пользователя не запоминается и каждый раз вводить пароль не хочется.
Помогло решение с основного SO.
Т.е. необходимо проделать следующее:
- Перейти в
PROJECT_ROOT\.dart_tool\chrome-device
. Если папки.dart-tool
илиchrome-device
не существуют, то достаточно запустить проект в Chrome. - Внутри
PROJECT_ROOT\.dart_tool\chrome-device
должна быть папкаDefault
. ПапкуDeafult
со всем содержимым необходимо скопировать в новую папку, в которой будут хранится профили пользователя для тестирования работы flutter приложения. К примеру,C:\Users\MyUser\AndroidStudioProjects\FlutterWebProfiles
. - Закрыть Android Studio
- Перейти в папку с установленным Flutter по пути
flutter\bin\cache
и удалить файлflutter_tools.stamp
. - Перейти в
flutter\packages\flutter_tools\lib\src\web
и открыть файлchrome.dart
- Изменить строку
--user-data-dir=${userDataDir.path}
на--user-data-dir=C:\\Users\\MyUser\\AndroidStudioProjects\\FlutterWebProfiles
Но данное решение обладает одним недостатком, flutter upgrade
перезаписывает файл chrome.dart
и приходится повторять шаги с 4 по 6.
Вроде как должен работать запуск Chrome
в дебаг режиме с аргументом --web-browser-flag "--user-data-dir=C:\\Users\\MyUser\\AndroidStudioProjects\\FlutterWebProfiles"
. Но мне не удалось сохранить пароли используя этот аргумент. Аргумент задаю в Android Studio launch configuration
.
Подскажите пожалуйста как можно реализовать сохранение паролей в Chrome
в процессе перезапуска в дебаг режиме.