Ich habe eine iOS Firebase-App, die Twitter-Login unterstützt, aber gelegentlich der signIn(with: credential
Anruf nach dem Zufallsprinzip schlägt fehl und ich kann nicht herausfinden, warum.iOS-Fehler mit Firebase Auth Anmelden mit Twitter-Anmeldeinformationen
Zuerst meldet sich der Benutzer bei Twitter an (was nie fehlschlägt), dann verwende ich die Twitter-Sitzung, um die Anmeldeinformationen abzurufen, und dann verwende ich diese Anmeldeinformationen mit Firebase, die manchmal fehlschlägt.
Hier ist der vollständige Code
func twitterLogin(_ done:@escaping (_ user: FIRUser?, _ err: Error?) -> Void) {
Twitter.sharedInstance().logIn() { session, error in
guard error == nil else {
done(nil, error)
return
}
let credential = FIRTwitterAuthProvider.credential(withToken: session!.authToken, secret: session!.authTokenSecret)
FIRAuth.auth()?.signIn(with: credential, completion: { (signUser, error) in
//User is signed in
// ERROR OCCURS HERE. ANY HELP WOULD BE GREATLY APPRECIATED
done(signUser, error)
})
}
}
Hier ist die genaue Fehlermeldung erhalte ich.
UserInfo={NSUnderlyingError=0x600000442c10 {Error Domain=FIRAuthInternalErrorDomain Code=3 "(null)" UserInfo={FIRAuthErrorUserInfoDeserializedResponseKey={
code = 400;
errors = (
{
domain = global;
message = "Network error while to fetch VERIFY_CREDENTIAL from TWITTER.";
reason = invalid;
}
);
message = "Network error while to fetch VERIFY_CREDENTIAL from TWITTER.";
}}}, error_name=ERROR_INTERNAL_ERROR, NSLocalizedDescription=An internal error has occurred, print and inspect the error details for more information.})
Ich habe versucht, für die Fehlermeldung speziell zur Suche ich bekommen „Netzwerkfehler während VERIFY_CREDENTIAL von TWITTER zu holen.“ aber ich kann keine Lösung finden. Ich fand einige Beiträge, von denen ich glaube, dass sie auf Japanisch waren, aber ich konnte ihre Lösung nicht verstehen.
Ich bekomme den gleichen Fehler mit Firebase für das Web: "Netzwerkfehler beim Abrufen von VERIFY_CREDENTIAL von TWITTER." Es passiert auch nur "gelegentlich" und scheinbar für einige Twitter-Nutzer mehr als andere. Ich habe sogar versucht, meine eigene Auth-Backend-Funktion zu implementieren, um das Authentifizierungs-Token und das Geheimnis direkt von Twitter zu erhalten, indem ich sie wie folgt anmelde: 'var credential = firebase.auth.TwitterAuthProvider.credential (Token, Secret); firebase.auth(). signInWithCredential (credential); 'aber es hat nicht geholfen. – pejalo
Gleiches gilt für Firebase seit mindestens 2 Monaten. Firebase sagt, dass es nicht sie sind. Twitter antwortet nicht. Andere vorhandene Apps, die Twitter Auth mit Firebase verwenden, funktionieren normal. In der Zwischenzeit, als eine wackelige, aber nur Umgehungsmöglichkeit, implementiere ich eine 3-Wiederholungs-Logik mit einiger Zeitverzögerung. Sogar damit wird es in etwa 50% der Zeit gelöscht ... – SteveSeow