0

到目前为止,我想出的是手动覆盖 window.open、window.postMessage 和 window.onmessage 等方法,以便在 Dart 内部创建一个桥接器。

有没有解决这个问题的标准方法?

4

2 回答 2

0

出于安全考虑,大多数 API 提供商禁止使用 Webview 进行 Oauth。提供者需要使用外部浏览器来执行用户名和密码的授权。对于 Android,您必须在您的清单中注册一个回调活动,以便提供者在授权完成并关闭浏览器后将用户定向到该活动。

您可以查看oauth2_flutter以了解该库的作者如何处理回调以及如何配置它。

于 2021-07-11T16:01:13.187 回答
0

我在标题下的一篇中等帖子中找到了答案:如何管理使用 target=”_blank” 或 “window.open” 打开的弹出窗口。

关键是实现 onCreateWindow 方法,并使用从 CreateWindowAction 接收到的 windowId 创建另一个 InAppWebView 实例。

于 2021-07-11T14:38:52.467 回答