加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oauth2在Flutter app中流动

发布时间:2020-12-14 14:49:32 所属栏目:百科 来源:网络整理
导读:在我正在构建的Flutter应用程序中,我需要根据自定义(非Google / Facebook / Twitter / etc)授权服务器对用户进行身份验证. 为了实现这一点,用户应在网页中填写凭据.为此,可以使用WebView-plugin.但是,在用户进行身份验证后重定向页面时,应关闭WebView,并将代
在我正在构建的Flutter应用程序中,我需要根据自定义(非Google / Facebook / Twitter / etc)授权服务器对用户进行身份验证.

为了实现这一点,用户应在网页中填写凭据.为此,可以使用WebView-plugin.但是,在用户进行身份验证后重定向页面时,应关闭WebView,并将代码传递给最初调用WebView的(Flutter)函数.

我已经做了一些研究,我得到了以下几个选项:

> This blog post使用本地服务器,仍然需要用户手动关闭窗口,这不是一个真正的解决方案(在我看来).
> This issue标记与任何OAuth提供程序集成,但未提供有关浏览器内用户身份验证的任何详细信息.
> This issue与我描述的完全一样,但在底部提到WebView插件提供了一种关闭WebView的方法.虽然它确实具有close()功能,但我找不到在redirect-URI上触发它并返回验证码的方法.

是否存在解决方案,一旦打开redirect-URI,它会自动关闭浏览器(并返回验证码)?

提前致谢!

解决方法

我没试过,但我的想法是使用FlutterWebviewPlugin将用户发送到https://www.facebook.com/v2.8/dialog/oauth?client_id={app-id}u0026amp;redirect_uri这样的网址= fbAPP_ID://授权.然后为应用程序添加本机处理程序:openURL:options :(在iOS上)和onNewIntent(Android)并修改AndroidManifest.xml和Info.plist以注册应用程序以接收来自fbAPP_ID方案的URL.您可以使用平台通道将深层链接参数传递回Dart-land并在Dart侧的webview上调用close().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读