Oauth2在Flutter app中流动

Oauth2在Flutter app中流动,第1张

概述在我正在构建的Flutter应用程序中,我需要根据自定义(非Google / Facebook / Twitter / etc)授权服务器对用户进行身份验证. 为了实现这一点,用户应在网页中填写凭据.为此,可以使用WebView-plugin.但是,在用户进行身份验证后重定向页面时,应关闭WebView,并将代码传递给最初调用WebView的(Flutter)函数. 我已经做了一些研究,我得到了以 在我正在构建的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(). 总结

以上是内存溢出为你收集整理的Oauth2在Flutter app中流动全部内容,希望文章能够帮你解决Oauth2在Flutter app中流动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1000525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存