Ios Firebase身份验证过程
我对firebase身份验证提供商的链接感到困惑 我已经实现了电子邮件/密码注册以及Facebook身份验证 无论何时我注册并使用电子邮件/密码登录,它都能100%工作。但是,当我在使用电子邮件/密码注册后尝试登录Facebook时,我会收到一条消息:“该电子邮件地址已被其他帐户使用。” 在我使用电子邮件和密码登录后,我正在尝试用以下方法链接facebook帐户Ios Firebase身份验证过程,ios,swift,facebook,firebase,firebase-authentication,Ios,Swift,Facebook,Firebase,Firebase Authentication,我对firebase身份验证提供商的链接感到困惑 我已经实现了电子邮件/密码注册以及Facebook身份验证 无论何时我注册并使用电子邮件/密码登录,它都能100%工作。但是,当我在使用电子邮件/密码注册后尝试登录Facebook时,我会收到一条消息:“该电子邮件地址已被其他帐户使用。” 在我使用电子邮件和密码登录后,我正在尝试用以下方法链接facebook帐户 FIRAuth.auth()?.signIn(withEmail: email, password: password) { (use
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登录,而是使用电子邮件和密码登录。我不明白你想做什么。为什么你想先用电子邮件唱歌,然后用facebook?应该是这个或那个。所以基本上我想知道是否可以使用Facebook登录,使用Facebook注销,然后使用电子邮件和密码登录,这两种登录都使用firebase上的同一用户?不,这是不可能的。如果用户使用使用a@a.com,除非帐户被删除,否则他不能再注册这封电子邮件。@FaridAlHaddad:我不知道你从哪里得到你的信息。Firebase身份验证允许帐户链接,这样您就可以拥有一个绑定到(例如)电子邮件+密码、谷歌和Facebook登录的帐户。请参阅@user2980509。用户必须已登录到现有帐户,才能链接到其他提供商。
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")
}
}
}