【问题标题】:How to logout user from firebase database?如何从firebase数据库中注销用户?
【发布时间】:2017-07-19 07:27:36
【问题描述】:

我正在通过 firebaseUser 授权使用 firebase 数据库。我成功地从应用程序中注销用户,但是当我注销用户时,应用程序由于 firebase 数据库引用而崩溃。我收到 logcat 消息显示

This client does not have permission to perform this operation.

如何从 firebase 数据库中注销用户?

【问题讨论】:

  • 您为什么要注销?如果您这样做,那么您必须要求您的用户再次登录,然后执行数据库操作。 “此客户端无权执行此操作。” - 您正在尝试访问未经身份验证或注销的数据库
  • @TGMCians 如果用户有多个帐户,则用户需要注销选项。在我的应用中,我想要注销选项
  • 您的意思是您的设备上配置了多个 gmail 帐户,并且您想尝试使用不同的帐户?
  • @TGMCians 否,如果有登录选项,则必须为用户提供注销选项
  • 是的。从应用程序注销后,您必须重新要求用户登录,然后您才能执行数据库操作

标签: android firebase firebase-realtime-database firebase-authentication


【解决方案1】:

您不会像这样从“数据库”注销,而是使用 FirebaseAuth.getInstance().signOut() 从 Firebase 注销。

之后,用户无法访问需要用户凭据的部分数据库,我猜这就是您的应用崩溃的原因。所以当你进行数据库调用时,你需要检查用户是否拥有正确的凭据。

【讨论】:

    【解决方案2】:

    我将 ValueEventListener 添加到 firebase 数据库参考中,当我尝试注销用户时,ValueEventListener 仍在后台运行,这就是我的应用程序崩溃的原因。

    我从 firebase 数据库参考中删除了 ValueEventListener,我的问题得到了解决。

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 2018-05-20
      • 2016-09-19
      • 2017-12-31
      • 1970-01-01
      • 2021-06-03
      • 2019-01-27
      • 2017-06-15
      • 2021-07-30
      相关资源
      最近更新 更多