firebase - Flutter Firebase 身份验证 - 注销和登录后生成的新匿名用户
问题描述
如果没有在平台上(针对您的特定应用程序)创建以前的匿名帐户,则在匿名登录时,Firebase 将创建一个新的唯一用户,该用户将在应用重新启动/页面重新加载时保持不变。如果用户退出并再次匿名重新验证,他们将使用之前创建的帐户登录。
然而,当我以匿名用户身份退出并再次登录时,我得到了一个新的匿名用户,而不是使用之前创建的帐户登录。需要明确的是,登录是通过调用来完成的FirebaseAuth.instance.signInAnonymously()
,而注销是通过调用来完成的FirebaseAuth.instance.signOut()
。
解决方案
这看起来像是 FlutterFire 文档中的一个错误。从匿名帐户注销后,该帐户的 UID 将丢失且无法收回。
我对文档意图的最佳猜测是signInAnonymously
多次调用将导致相同的 UID。但是将用户注销会清除该 UID,并且无法回收。我提交了一个 PR 来改进这里的文档。
推荐阅读
- ios - 这对于 NSTimer 在主线程上运行是否正确?
- swift - Swift 使用委托创建一个类
- sql - 参考 SQL Server 中的多个列连接两个表
- c# - 允许微调器按时间间隔递增/递减 TimePicker WPF
- ios - Xcode IB 警告 UICollectionViewCell 中 UIStackView 的位置不明确,尽管它不应该是
- .net - 代表 MSA(Microsoft 个人)和 AAD 帐户的 Azure Ad v2.0 端点
- python - 如果整个字符串不匹配,re.sub 不替换
- r - ggplot facet wrap 变量作为函数中的参数
- pact-lang - 契约形式验证属性
- jpa - 单独创建但一起使用的 Kotlin 数据库实体/对象的可空性