【问题标题】:com.google.firebase.FirebaseException: An internal error has occurred. [ 7: ]com.google.firebase.FirebaseException:发生内部错误。 [7:]
【发布时间】:2020-01-19 17:26:14
【问题描述】:

我曾经创建帐户并使用 firebase 连接到我的应用程序,但是当我断开连接时,我很快就无法创建帐户。 1 小时后,我设法创建了一个帐户,当我断开连接以查看问题是否已解决时,我意识到它仍然存在。

通过task.getException() 在帐户创建失败的情况下,我收到此错误: "com.google.firebase.FirebaseException: An internal error has occurred. [7:]" 你对问题的原因有什么想法吗?

【问题讨论】:

  • 我也有同样的问题。

标签: java android firebase firebase-authentication


【解决方案1】:

我也有同样的问题。 我的应用程序在离线模式/飞行模式下崩溃了。

getIdToken 如果尚未过期,则返回当前令牌。否则,这将刷新令牌并返回一个新令牌,更多信息here

在我的例子中,我像 getIdToken(true) 这样调用了getIdToken,这意味着无论令牌是否过期,我都会强制刷新。 在我的案例中,getIdToken(false) 这样就解决了问题。

我测试了离线模式/飞行模式,效果很好。

【讨论】:

    【解决方案2】:

    这是我解决相同问题的方法:在我的模拟器上打开浏览器,输入内容并进行搜索。之后,我回到我的应用程序并尝试连接到 Firebase,一切都开始正常运行。

    问题的原因可能是模拟器无法连接到互联网,直到我在 Google 中搜索了一些东西。

    【讨论】:

      【解决方案3】:

      如果您确定您有一个有效的 Internet 连接并且您正在从模拟器进行测试,请重新启动您的模拟器,它应该可以工作。有时,模拟器会断开与 Internet 的连接,并且会出现此类问题。

      【讨论】:

        【解决方案4】:

        我有同样的问题,因为我的互联网不活跃。 确保您有有效的互联网连接。

        【讨论】:

          【解决方案5】:

          我遇到了类似的问题并得到了相同的异常和代码: 7. 我在 Rx 流中调用 firebaseUser.getIdToken()。因此,在离线测试应用程序功能时,我发现firebaseUser.getIdToken() 返回的 JWT 令牌已过期并抛出上述错误。它的寿命为 1 小时。

          所以我将我的实现拆分为单独的函数,只在授权调用之前调用firebaseUser.getIdToken(),无论如何都必须在线完成以确保安全。

          没有看到任何代码,您似乎已登录/保留对过期 Firebase 令牌的引用。在调用您的“帐户创建”部分之前,请确保您已从 firebaseAuth 正确退出。

          【讨论】:

            猜你喜欢
            • 2017-04-28
            • 1970-01-01
            • 2018-09-20
            • 1970-01-01
            • 1970-01-01
            • 2018-10-31
            • 2017-06-24
            • 2018-11-30
            相关资源
            最近更新 更多