我正在使用flutter_inappwebview插件开发android浏览器。现在我需要保存和自动填写登录凭证为不同的网站,如facebook, twitter等。我开始了解使用flutter_secure_storage插件安全地存储登录数据,但我对如何实现这一点没有任何了解。我想要这个功能,就像它在谷歌浏览器。请帮助如果你可以…提前感谢!
flutter_secure_login
目前不支持Flutter平台web。既然是这种情况,我建议使用这里找到的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();
}