在flutter inappWebview中自动填充登录凭据
Posted
技术标签:
【中文标题】在flutter inappWebview中自动填充登录凭据【英文标题】:Autofill login credentials in flutter inappWebview 【发布时间】:2021-05-29 04:53:56 【问题描述】:我正在使用flutter_inappwebview 插件来开发安卓浏览器。现在我需要为不同的网站(如 facebook、twitter 等)保存和自动填充登录凭据。 我开始了解如何使用 flutter_secure_storage 插件安全地存储登录数据,但我对如何实现这一点一无所知。 我希望此功能与 Google Chrome 中的功能完全相同。如果可以的话请帮忙... 提前致谢!
【问题讨论】:
【参考方案1】:flutter_secure_login
目前不支持 Flutter 平台 web。
既然是这种情况,我建议使用 shared_preferences
found here
它与安全存储非常相似,并且可以以非常相似的方式使用
在下面的代码中,我使用它来存储我的用户数据
// 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();
【讨论】:
Soory 实际上我想知道当用户再次返回同一站点时,我如何获取、保存和使用凭据进行自动填充。我正在考虑webview。 我希望此功能与 Google Chrome 中的功能完全相同以上是关于在flutter inappWebview中自动填充登录凭据的主要内容,如果未能解决你的问题,请参考以下文章
如何在同一个inappwebview Flutter中打开弹窗?
Flutter 加载url flutter_inappwebview
Flutter - InAppWebView 中的 Jitsi Meet 回调
inappwebview 中的flutter_problem
java.lang.IllegalStateException:尝试创建未注册类型的平台视图:com.pichillilorenzo/flutter_inappwebview
Flutter Build Fails: InAppWebView error: package okhttp3 does not exist