Oauth2在Flutter app中流动

前端之家收集整理的这篇文章主要介绍了Oauth2在Flutter app中流动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我正在构建的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().

猜你在找的Flutter相关文章