如何在Web上使用https地址而不是http运行Flutter应用程序:

9
我正在尝试将我使用Flutter制作的应用程序移植到Android和iOS上,并在web上运行。由于我使用了Google和Facebook登录框架,因此需要使用“https”地址,即使原始url是localhost。我正在使用Web服务器运行选项,在Android Studio内置的Web服务器中运行该应用程序。
我目前正在使用命令行运行以下命令来运行Web应用程序:
flutter run -d web-server --web-hostname=`hostname` --web-port=8080 --profile -v

我使用了Google API控制台指定的端口,但由于没有使用“https”并且连接不安全,而在某个平台上仍然无法进行身份验证。

有人遇到过这个问题并知道如何解决吗?如果能提供任何帮助,我会非常感激。

1个回答

0

您可以使用 mkcert 创建证书,并使用本地设备和浏览器信任的证书颁发机构(CA)对其进行签名。

按照 此指南 安装 mkcert。在终端上运行 mkcert -install 来创建一个新的本地证书颁发机构,使用 mkcert。然后运行 mkcert localhost - 这使得所有localhost地址都受信任。其他示例在 这里 中演示。

至于将此功能直接集成到 Flutter 插件中,GitHub 上有一个活跃的功能请求,您可以跟踪它:GitHub


2
请问您能解释一下如何操作吗?我已经为本地主机创建了证书,现在该怎么办呢?我尝试手动输入“https://localhost:8080”,但是这并没有起作用。 - user3808307

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接