我在围绕firebase身份验证提供程序的链接时遇到了问题 .

我已经实现了电子邮件/密码注册以及Facebook身份验证 .

每当我注册并使用电子邮件/密码登录时,它都可以100%正常工作 . 但是当我在用电子邮件/密码注册后尝试登录Facebook时,我收到消息“电子邮件地址已被其他帐户使用” .

我正在尝试使用电子邮件和密码登录后,使用以下方法链接Facebook帐户 .

FIRAuth.auth()?.signIn(withEmail: email, password: password) { (user, error) in
        if error != nil{
          print(error.localizedDescription)
        }
        else{
            let credential = FIRFacebookAuthProvider.credential(withAccessToken: FBSDKAccessToken.current().tokenString)
            user.link(with: credential) { (user, error) in
            if error != nil{
                print(error.localizedDescription)
            }
            else{
                print("SUCCESS")
            }
        }
    }

当到达“let credential”行时,它会抛出一个未定义的错误 .

还有一个问题 . 当我使用Facebook登录时,使用Firebase的密码重置再次注销重置密码并尝试使用电子邮件和密码登录,如果应用程序仍然可以使用Facebook身份验证登录?我之前尝试过,它不再使用Facebook登录,但它使用电子邮件和密码登录 .