1

Ich versuche die Google-Authentifizierung in meiner ionischen App zu implementieren. Ich habe diese Beispiel-App auf GitHub (click here) gefunden, die Google verwendet, um sich anzumelden.Ionic View Google Login Popup funktioniert in Firebase 2, aber nicht in Firebase 3 (funktioniert im Browser)

  • Wenn ich es an den Browser (mit ionic serve --lab) dienen, funktioniert das Popup. Ich kann mich einloggen und auf die Daten zugreifen.
  • Wenn ich es auf ionic hochladen und die App auf iOS/Android-Emulator öffnen, funktioniert es.
  • Wenn ich es auf Android erstellen und emulieren, funktioniert das Popup nicht.

Ich habe versucht, die App mit Firebase des Migrationsleitfaden (click here) zu aktualisieren, aber ich konnte nur im Browser arbeiten bekommen, nicht in ionischer Ansicht oder Android-Emulator.

Ich habe auch Google in einer separaten App anmelden, aber ich konnte es nur im Browser arbeiten.

var provider = new firebase.auth.GoogleAuthProvider(); 
firebase.auth().signInWithPopup(provider).then(function (response) { 
    // Login successful 
}, function(error) { 
    // Login error 
}); 

Jede Hilfe wird großartig!

Eine Nebenfrage, kann ich Firebase 2.x.x trotzdem verwenden, obwohl ich die neue Firebase-Konsole verwende? Ich denke, dass Firebase mir einen Fehler gab, wenn ich einmal sagte, dass ich neue Firebase-Konsole verwendete, also benötigt, um die neuesten Bibliotheken oder etwas zu verwenden.

Antwort

5

Firebase Auth 3.x für Ionic/Cordova auf Android und iOS unterstützt derzeit nicht signInWithPopup. Das Firebase-Team arbeitet daran, das zu unterstützen. prüfen diesen Thread für mehr darüber, wie mit dieser Situation umgehen: https://groups.google.com/forum/#!searchin/firebase-talk/cordova 20facebook $/Feuerbasis-talk/mC_MlLNCWnI/DqN_8AuCBQAJ

Vorerst können Sie signInWithCredential als Alternative verwenden. Es gibt cordova Plugins für Google und Facebook, die Sie mit einem OAuth-Zugriffstoken zur Verfügung stellen würde helfen, dass Sie signInWithCredential aufrufen können:

auth.signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken)); 

Ein Beispiel für ein Plugin für Facebook einloggen: https://www.npmjs.com/package/cordova-plugin-facebook

Verwandte Themen