Android 当从Firebase控制台删除Firebase用户时(用户登录后),它不会反映在应用程序中
Android 当从Firebase控制台删除Firebase用户时(用户登录后),它不会反映在应用程序中,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,user.uid仍在运行(在这个uid!=null的帮助下,我假设用户已登录) 我还尝试了addAuthStateListener(mAuthListener),但我仍然获得了以前删除的用户的UID 如果不使用数据库跟踪被禁止或删除的用户ID,则可以立即删除该用户。当用户登录Firebase时,他们会获得一个有效期为一小时的访问/ID令牌。无法撤销此ID令牌,因为这需要Firebase对每个调用执行非常昂贵的检查 因此,当您从控制台删除用户的帐户时,他们可能会保留长达一小时的访问权限,此时他们将
user.uid
仍在运行(在这个uid!=null
的帮助下,我假设用户已登录)
我还尝试了addAuthStateListener(mAuthListener)
,但我仍然获得了以前删除的用户的UID
如果不使用数据库跟踪被禁止或删除的用户ID,则可以立即删除该用户。当用户登录Firebase时,他们会获得一个有效期为一小时的访问/ID令牌。无法撤销此ID令牌,因为这需要Firebase对每个调用执行非常昂贵的检查 因此,当您从控制台删除用户的帐户时,他们可能会保留长达一小时的访问权限,此时他们将需要刷新其令牌,这将失败(因为您删除了他们的帐户)。因此,他们的访问权限将在一小时内自动消失 有几点:
- 如果您想在用户的ID令牌过期之前将其锁定在应用程序之外,那么您需要在某个地方保留一个额外的禁用UID列表。例如,如果您使用的是Firebase数据库,则可以保留一个
的全局列表,并将UID添加到该列表中。然后在服务器端安全规则中,可以检查试图访问数据库的UID是否被禁止bannduids
- 如果您删除用户的帐户,他们只需再次注册并创建一个新帐户。出于这个原因,通常最好禁用他们的帐户,这会实现相同的功能(在当前ID令牌过期后,他们将无法获得新的ID令牌),但会阻止他们使用相同的凭据再次注册
- 录像带
- 如果您想在用户的ID令牌过期之前将其锁定在应用程序之外,那么您需要在某个地方保留一个额外的禁用UID列表。例如,如果您使用的是Firebase数据库,则可以保留一个
的全局列表,并将UID添加到该列表中。然后在服务器端安全规则中,可以检查试图访问数据库的UID是否被禁止bannduids
- 如果您删除用户的帐户,他们只需再次注册并创建一个新帐户。出于这个原因,通常最好禁用他们的帐户,这会实现相同的功能(在当前ID令牌过期后,他们将无法获得新的ID令牌),但会阻止他们使用相同的凭据再次注册
- 录像带