我一直在敲打我的脑袋和键盘谷歌搜索,阅读Firebase文档并将StackOverflow梳理好几天,以获得类似情况和帮助。
情况如下:
“验证错误:已存在具有相同电子邮件地址的帐户,但是 不同的登录凭据。使用相关的提供商登录 用这个电子邮件地址。“
Firebase文档说要将用户链接到Facebook凭据,在这种情况下。 https://firebase.google.com/docs/auth/ios/account-linking
user.link(with: credential) { (user, error) in
但此时,Auth.auth().currentUser == nil
因此没有要关联的帐户。此外,“每个电子邮件地址一个帐户”设置设置为TRUE。
来自Auth:signInAndRetrieveData(with credential: AuthCredential, completion: FirebaseAuth.AuthDataResultCallback? = nil)
FIRAuthErrorCodeAccountExistsWithDifferentCredential - 表示 由凭证断言的电子邮件(例如,Facebook访问中的电子邮件) 令牌)已被现有帐户使用,但不可以 使用此登录方法进行身份验证。调用fetchProvidersForEmail 对于此用户的电子邮件,然后提示他们使用任何一个登录 登录提供商已退回。只有在“One”时才会抛出此错误 每个电子邮件地址的帐户“在Firebase控制台中启用了设置, 在Auth设置下。
回到这种情况(用户目前有Twitter凭证,用户点击了Facebook按钮, currentUser == nil 并存在上述错误),此时,是否适合调用Twitter编程功能(代表用户)然后将Facebook凭证链接到当前用户?
是否有人遇到过这种情况并解决了这个问题,以获得更酷的用户体验,而不是点按提示点按Twitter按钮?
感谢您的帮助