我想达到的目标:让我们说我有一个API(标记)认证的用户那么一旦该用户点击一个按钮,我想打开一个网页视图和基于会话的身份验证验证了他。
到目前为止,我所做的事情(很多解决方案和主张):
使用url_launcher
:
launch(url)
使用1 flutter_webview_plugin
或2 webview_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,
),
);
}
}
```
将令牌(获取参数)发送到后端服务器
我怀疑web视图不支持cookie!
在后端,我正在使用laravel(php7)和Apache服务器。
提前感谢
答案 0 :(得分:0)
由于您使用的是Flutter,因此建议您使用Flutter Web Auth插件通过Web服务对用户进行身份验证。它可以用于任何可以重定向到自定义方案的Web流。
它会使用经过身份验证的令牌自动将您重定向到您的应用程序(如果您的应用程序是Android,则请记住按照README.md文件中的说明编辑AndroidManifest.xml)