【问题标题】:How to redirect an api (token) authenticated user (in a flutter app) to session based auth (in a flutter web view)?如何将经过身份验证的 api(令牌)用户(在颤振应用程序中)重定向到基于会话的身份验证(在颤振 Web 视图中)?
【发布时间】:2019-06-26 13:17:44
【问题描述】:

我想要实现的目标:假设我有一个经过 Api(令牌)身份验证的用户,然后一旦该用户单击一个按钮,我想打开一个 Web 视图并在基于会话的身份验证上对他进行身份验证。

到目前为止我所做的(许多解决方案和提议):

  1. 使用url_launcher:

    • 点击launch(url)打开浏览器
    • 向后端服务器发送令牌(GET 参数)
    • 验证用户并重定向回来 运行良好但用户体验不佳,用户需要在浏览器和应用之间切换!
  2. 使用 1flutter_webview_plugin 或 2webview_flutter

    • 点击打开网页视图 1

      class __WebWidget extends StatelessWidget {
       @override
       Widget build(BuildContext context) {
         return WebviewScaffold(
           url: url + "?token=${userManager.token}",
           appBar: new AppBar(
             title: Text('Space'),
           ),
           withZoom: true,
           withLocalStorage: true,
           hidden: true,
           initialChild: Container(
             color: Colors.blueAccent,
             child: const Center(
               child: Text('Loading....'),
             ),
           ),
         );
       }
      }
      

      2

      class WebWidget extends StatelessWidget {
        WebWidget({this.url});
      
        final String url;
      
        @override
        Widget build(BuildContext context) {
          return Scaffold(
            appBar: AppBar(
              title: Text('Votre Espace '),
            ),
            body: WebView(
              initialUrl: url + "?token=${userManager.token}",
              javascriptMode: JavascriptMode.unrestricted,
            ),
          );
        }
      }
      ```
      
    • 向后端服务器发送令牌(GET 参数)

    • 验证用户并重定向回来 不工作!

我怀疑webview不支持cookies!

在后端,我使用 laravel (php7) 和 Apache 服务器。

提前致谢

【问题讨论】:

    标签: php authentication webview flutter session-cookies


    【解决方案1】:

    由于您使用的是 Flutter,我建议您使用 Flutter Web Auth 插件来验证具有 Web 服务的用户。它可用于任何可以重定向到自定义方案的 Web 流。

    它会使用经过身份验证的令牌自动将您重定向到您的应用(如果您的应用是 Android,请记住按照 README.md 文件中的说明编辑 AndroidManifest.xml)

    【讨论】:

    • 我试过使用这个库,但它似乎不起作用。关于 stackoverflow 和 github 的问题也没有得到解答
    • 你发现了吗?
    猜你喜欢
    • 1970-01-01
    • 2021-10-11
    • 1970-01-01
    • 2017-05-30
    • 2021-03-06
    • 2021-06-12
    • 2019-10-13
    • 2020-08-18
    • 2021-03-22
    相关资源
    最近更新 更多