我一直在浏览网页,并尝试了解如何处理登录Firebase用户的用户状态,其中发生以下情况:
目前,除非我调用getIDTokenForcingRefresh()和signout()用户,否则返回错误是由于禁用/删除用户。用户仍将登录。
总之,我有以下问题:
感谢您提前澄清和帮助! =)
答案 0 :(得分:0)
我不知道我是否会回答你们所有的问题,但我可以根据我对Firebase的经验给你一些信息。
据我所知,如果用户被删除或禁用,他仍将登录应用程序,直到令牌过期。在用户被禁用/删除后,您将尝试使用Firebase中的某些数据进行操作(读取,写入等),您将在结果块中收到错误。那时你应该检查它是什么类型的错误并执行一些操作。在这种情况下,如果错误匹配删除/禁用用户,您应该将他登出并进入登录屏幕。 Here是所有错误的列表。
reauthenticateWithCredential()是一种方法,但是从Firebase读取其他数据时会出现同样的错误。因此,如果用户被禁用,则调用reauthenticateWithCredential()将返回错误代码FIRAuthErrorCodeUserDisabled。这就是您检测该用户被禁用的方式。