使用 Flutter 通过自定义选项卡处理身份验证流程:非 Chrome 浏览器支持

问题描述 投票:0回答:1

我目前正在开发一个需要第三方认证的Flutter应用,认证流程需要在浏览器中完成。之前,我使用 WebView 来实现此目的,但对 WebView 的支持发生了变化,现在 Android 上仅支持 Chrome 和 Samsung 浏览器的自定义选项卡。

对于身份验证,我使用 InAppWebView 包,特别是用于 Safari 和 Chrome 的 ChromeSafariBrowser。这对于将 Chrome 作为默认浏览器的用户来说效果很好,但我遇到了不使用 Chrome 的用户的问题。

这是我遇到的问题:当尝试在没有 Chrome 的 Android 上打开身份验证流程时(iOS 可以正常工作),我遇到以下错误:

PlatformException(ChromeBrowserManager, ChromeCustomTabs is not available!, null, null)

我正在寻求有关如何处理此特定案例的指导,但我对适用于所有三个浏览器的解决方案特别感兴趣:Safari、Chrome 和三星浏览器用户。

安装 Chrome 浏览器(但不是默认浏览器)时也会出现此错误。我应该如何最好地处理这个问题?同样从我的最终用户的角度来看,例如。反馈。

如果您有任何建议或解决方案要分享,请告诉我。

flutter android-webview android-browser chrome-custom-tabs samsung
1个回答
0
投票

我做了一个非常糟糕的(到处都是)编码的应用程序,之前使用Webview来完成第三方(基于浏览器的)身份验证。我刚刚为你再次尝试,它仍然有效,即使我的手机上没有 Chrome。我认为同样的方法可能对你有帮助。

我使用了 webview_flutter 包。首先,我获取登录详细信息并将其保存到变量中,然后启动 Web 视图并粘贴登录凭据并通过 Javascript 单击登录按钮。

有关软件包,请检查此链接:https://pub.dev/packages/webview_flutter

对于我糟糕的代码,请检查这里:https://github.com/KatayR/googleAkademiMobilUygulama/blob/master/lib/webView_File.dart

如果您需要进一步的帮助,请询问,我很乐意为您提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.