Автозаполнение учетных данных во flutter inappWebview
Я использую плагин flutter_inappwebview для разработки браузера Android. Теперь мне нужно сохранить и автозаполнить учетные данные для разных веб-сайтов, таких как facebook, twitter и т. Д. Я узнал о безопасном хранении данных для входа с помощью плагина flutter_secure_storage, но не знаю, как это реализовать. Пожалуйста, помогите, если сможете ... Заранее спасибо!
1 ответ
flutter_secure_login
в настоящее время не поддерживает веб-платформу Flutter. В этом случае я бы рекомендовал использовать
shared_preferences
найдено здесь
Это очень похоже на безопасное хранилище и может использоваться очень похожим образом.
в следующем коде я использую его для хранения своих пользовательских данных
// write to shared preferences
final prefs = await SharedPreferences.getInstance();
if (!_context.isLoggedIn) {
if (prefs.containsKey('userData')) prefs.remove('userData');
return;
}
final userData = Map<String, String>();
userData['refreshToken'] = _refreshToken;
userData['tenantId'] = _tenantId;
userData['userId'] = _userId;
await prefs.setString('userData', json.encode(userData));
Затем к нему можно получить доступ для обновления токенов.
Future init() async {
final prefs = await SharedPreferences.getInstance();
final prefData = prefs.getString('userData');
if (prefData == null) return;
final Map<String, Object> userData = json.decode(prefData);
_authWriter.write({
'refreshToken': userData['refreshToken'],
'userId': userData['userId'],
'tenantId': userData['tenantId']
});
await refreshAccessToken();
}