如何解决退出Google登录iOS不能在Flutter Firebase中使用flutter fire
在我的Flutter iOS应用中,从Google退出Firebase失败。我使用以下代码退出Google:
await GoogleSignIn().signOut();
await FirebaseAuth.instance.signOut();
然后我与Apple登录。但是,当我检查FirebaseAuth.instance.currentUser.providerData
时,除了apple.com提供者之外,google.com提供者仍然存在。不应在GoogleSignIn().signOut()
上删除此google.com providerData吗?
edit:我的期望是FirebaseAuth.instance.currentUser.providerData
将是当前已登录的身份验证提供程序的列表。因此,我希望当我退出Google时,将会删除google.com providerData
条目。也许这种期望是错误的,如果是这样,我如何知道用户当前使用的提供商?因此,例如,如果要获取用户名,我如何知道要从哪个providerData中提取?
解决方法
我的问题源于对providerData
的工作方式的误解。我认为它将包含当前已登录的提供程序。相反,它包含与Firebase中的用户关联的所有提供程序。
为了记录用户名,我在登录过程中(当应用程序知道正在登录哪个提供商时)记录了用户名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。