【问题标题】:How to use Firebase authentication on a "Local hosted" web app如何在“本地托管”网络应用上使用 Firebase 身份验证
【发布时间】:2020-04-24 14:37:26
【问题描述】:

所以,我终于让 Firebase 身份验证适用于我的网络应用。它在托管在网站上时有效,但在本地托管或在手机上运行我的应用时无效。

我收到错误消息“运行此应用程序的环境不支持此操作。“location.protocol”必须是 http、https 或 chrome-extension,并且必须启用网络存储。”

我了解这是由于页面未托管在网络服务器上造成的。但是,我不明白我需要做什么才能在我的应用程序“本地”上进行身份验证,因为即使使用 iframe 来引用在线托管的页面也是不允许的。

这是我的第一个应用程序,非常感谢您的帮助。

【问题讨论】:

    标签: firebase firebase-authentication


    【解决方案1】:

    您应该使用本地网络服务器来提供内容,不要将 HTML 文件从您的文件系统直接加载到浏览器中。 URL 主机应为“localhost”,以便被视为本地服务。

    The Firebase emulator suite 为提供静态内容的 Firebase 托管提供本地模拟器。即使您不想将网站部署到 Firebase 托管,您仍然可以通过这种方式提供其静态内容。

    或者,使用您正在使用的 Web 框架提供的任何本地 Web 服务器。同样,您的浏览器应该指向类似于“http://localhost”的内容。最终,由您来提供您网站的本地托管版本。

    【讨论】:

    • 感谢您的回复,我知道这将解决我在本地计算机上运行它时的问题,但是当我在手机上运行我的应用程序时,此解决方案是否也有效?我正在使用 cordova 打包 android .apk 文件。
    • 我对此表示怀疑。查看身份验证产品中的 firebase 控制台,然后加载“登录方法”选项卡。向下滚动到“授权域”。看看它如何只列出 localhost 和其他已知的 Firebase 托管域?这些可能是唯一可以使用的站点。我不知道 Cordova 做了什么,但它可能没有通过一些内置的 Web 服务器提供本地内容。但如果是,您必须弄清楚 URL 是什么并将其添加到此处。
    • Cordova 有特别说明:firebase.google.com/docs/auth/web/cordova
    • 非常感谢您的帮助,过去几个小时我一直在网站上,完全忘记了我是从这些页面开始的,我只是以为我已经完成了它的工作我的网站。
    猜你喜欢
    • 2018-07-23
    • 1970-01-01
    • 2020-02-16
    • 2018-06-06
    • 2017-04-15
    • 2019-05-02
    • 1970-01-01
    • 2011-07-31
    • 2017-03-22
    相关资源
    最近更新 更多