在中国使用 Firebase 身份验证和 Firestore

Posted

技术标签:

【中文标题】在中国使用 Firebase 身份验证和 Firestore【英文标题】:Using Firebase authentication and Firestore in China 【发布时间】:2019-02-17 21:03:57 【问题描述】:

使用 Firebase 堆栈进行 chrome 扩展 :) 但是,有一个大问题。

位于中国的用户无法使用该应用程序,因为 Google 在那里被阻止,因此 Firebase 身份验证失败......嗯,一个选择是使用 ***,但就用户体验而言,这是一个很大的不,不......有没有更好的解决/解决此问题的方法

主要使用 firebase auth(Google 提供商)和 Firestore

可以使用某种自定义令牌来解决这个问题吗? https://firebase.google.com/docs/auth/admin/create-custom-tokens

或结合firebase的外部认证服务,在这种情况下,也需要对firestore进行认证访问

【问题讨论】:

即使你解决了身份验证,你不是还在使用 Firestore 被阻止吗? @WeiChingLin 是的,firestore 也在这里离线... :( 我在考虑 service-worker 代理,有没有成功的? @WeiChingLin 这个我不熟悉,能不能提供更多信息 【参考方案1】:

在 HEROKU 上创建一个 API。让您的所有 Oauth 和对 firebase 的每次调用都通过 API。这个 API 只会在 CHINA 和 GoogleServices (Firebase) 之间架起所有信息的桥梁,因为防火墙会阻止它们。

【讨论】:

我建议使用 heroku.. 但您也可以使用其他托管服务.. 始终确保它们通过防火墙。有一些服务可以验证:en.greatfire.org/analyzer Azure 也能通过防火墙。 @NaheleAllan-Moon 是的,就是这样。 @ChristopheChenel 非常感谢您的提示。高度赞赏。深度链接是 iosandroid 应用程序链接的通用链接的统一,以在两个平台上获得相同的行为。本质上,谷歌托管了一个迷你网站来进行正确的转发。它们非常适合应用推荐,但如果应用无法放入中国应用商店,则仅适用于 Android 版本。 这个***.com/questions/42605566/…这里讨论的主题相关信息。【参考方案2】:

最简单的解决方案可能是设置代理服务器,将您的应用请求转发到 Firebase。

【讨论】:

以上是关于在中国使用 Firebase 身份验证和 Firestore的主要内容,如果未能解决你的问题,请参考以下文章

我是 Flutter Web 的新手,如何使用 Firebase 电话身份验证对用户进行身份验证,有没有办法让用户保持登录状态?

Firebase SignUp始终出错

Firebase 停止监听 onAuthStateChanged

Firebase linkwithcredential 不适用于 Facebook

Firebase Auth 密码重置 iOS Swift - 更新 Firebase 数据库

如何从应用程序远程强制注销firebase auth用户