Firebase 身份验证获取已删除的用户
Posted
技术标签:
【中文标题】Firebase 身份验证获取已删除的用户【英文标题】:Firebase auth fetches Deleted user 【发布时间】:2019-07-20 04:24:00 【问题描述】: await _auth.currentUser()
此行获取已删除的用户。
在我的应用程序中,我测试了从 firebase 控制台删除用户,然后我运行了这个:
FirebaseUser firebaseUser;
FirebaseUser currentUser = await _auth.currentUser();
if (currentUser != null)
print('linking account $currentUser.uid');
firebaseUser = await _auth.linkWithCredential(credential);
else
firebaseUser = await _auth.signInWithCredential(credential);
虽然用户已被删除,(我将它们全部删除以确保它已被实际删除,但我仍然得到输出:
linking account ua1gzDXZRmTZI0gxGeu36iF5ETO2
这会在下一行触发错误:
[ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter ( 7016): PlatformException(error, Given String is empty or null, null)
【问题讨论】:
【参考方案1】:您的 JWT 令牌似乎仍然有效,但您的刷新令牌无效。重要的是要记住 JWT 是无状态的,必须对已删除的用户进行内在的访问令牌撤销。
在Detect ID token revocation 部分中,您可以找到如何设置检查令牌撤销的 Firebase 规则
希望对你有帮助
【讨论】:
以上是关于Firebase 身份验证获取已删除的用户的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Firebase - 未能正确删除经过 Google 身份验证的用户
Firebase firestore 获取未经身份验证的用户文档