我正在试验颤振、飞镖和FirebaseAuth。我已经能够用谷歌登录成功登录,但当我尝试用Facebook登录时,我被告知“
已存在具有相同电子邮件地址但不同登录凭据的帐户。使用与此电子邮件地址关联的提供商登录。
这是因为firebase auth基于用户的电子邮件,我已经使用谷歌登录了。所以它不允许登录Facebook。
在我几年前做的一些代码中,我只是获得了用户并使用了
.lineWithCredential(facebookAuthCred)
完成与Firebase中已建立的Google帐户的链接。但在Dart实现中,这不起作用,因为
FirebaseAuth.instance.currentUser()
正在返回一个
null
.关于错误的文档从
.signInWithCredential(facebookAuthCred)
告诉我怎么做
.fetchSignInMethodForEmail(...)
除了没有登录,我没有电子邮件地址可以传递给它。
所以我处于这种情况。如果用户重新启动应用程序并选择Facebook而不是谷歌,那么在我没有账户的情况下,我如何链接账户
FirebaseUser
也没有电子邮件地址?
到目前为止,我在网上看到的唯一一件事是,人们说你必须先让用户使用他们的谷歌账户登录,但登录谷歌然后登录Facebook是一种非常糟糕的用户界面体验。
我很难弄明白。