Ich bin neu in Firebase und iOS und ich frage mich, ob jemand wüsste, wie man mehrere oAuth Provider verbindet. Ich folgte die Firebase docs und versuchte, diese Funktion zu implementieren:Verknüpfen von oAuth Providern in Firebase iOS
func firebaseSignInWithLink(credential: FIRAuthCredential) {
FIRAuth.auth()?.signIn(with: credential, completion: { (user, error) in
if error != nil {
debugPrint("APP: there has been an error signing into firebase, perhaps another account with same email")
debugPrint("APP: \(error)")
// if existing email, try linking
FIRAuth.auth()?.currentUser?.link(with: credential, completion: { (user, error) in
if error != nil {
debugPrint("APP: there has been an error signing into firebase")
debugPrint("APP: \(error)")
}
else {
debugPrint("APP: successfully signed into firebase")
}
})
}
else {
debugPrint("APP: successfully signed into firebase")
}
})
}
Die FIRAuth.auth()?.currentUser?.link
Funktion nie trotz der oben debugPrint("APP: \(error)")
wird aufgerufen aufgerufen wird. Da dies nicht funktioniert, ich erhalte den Fehler unten: "Die E-Mail-Adresse bereits von einem anderen Konto ist \"
Optional (Error Domain = FIRAuthErrorDomain Code = 17007 \ Userinfo = {NSLocalizedDescription = Die E-Mail-Adresse wird bereits von einem anderen Konto, ERROR_NAME = ERROR_EMAIL_ALREADY_IN_USE, [email protected]})“
Jede Hilfe wäre sehr dankbar Danke.! D
Ich arbeite an dem gleichen Problem. Ich habe es noch nicht gemeistert, aber wenn Sie bereits "currentUser" haben (was ich ziemlich sicher bin), sollten Sie die Anmeldung nicht aufrufen, da die Benutzer-E-Mail bereits bei einer vorherigen Anmeldung einem VERSCHIEDENEN IDP zugeordnet war. ..hence der Fehler, den wir sehen ... – Dewey
Ich denke, das Ding, das mich verwirrte, war, wie wir das currentUser-Objekt erhalten können, wenn der Benutzer sich nicht über den oAuth einloggen kann, der den Fehler erzeugte. Muss der Benutzer alle möglichen Authentifizierungsmethoden versuchen, bis er sich erfolgreich anmeldet und das aktuelle Benutzerobjekt abruft, und sich dann erneut bei oAuth anmelden muss, um sie zu verknüpfen? :/ – Clement