Das firebase.auth().signInWithPopup(provider)
funktioniert nicht, ich melde mich nicht in Firebase an, ich weiß nicht was ist, die Konsole druckt:
Objekt {code: "auth / operation-not-supported-in-thi ...", message: "Diese Operation wird nicht unterstützt in ...", stack: ""}
function toggleSignIn() {
if (!firebase.auth().currentUser) {
console.log("!firebase.auth().currentUser yes");
var provider = new firebase.auth.FacebookAuthProvider();
provider.addScope("user_birthday");
firebase.auth().signInWithPopup(provider).then(function(result) {
console.log("!firebase.auth().currentUser yes");
var token = result.credential.accessToken;
var user = result.user;
document.getElementById("quickstart-oauthtoken").textContent = token;
}).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
var email = error.email;
var credential = error.credential;
if (errorCode === "auth/account-exists-with-different-credential") {
alert("You have already signed up with a different auth provider for that email.");
} else {
console.error(error);
}
});
} else {
firebase.auth().signOut();
}
document.getElementById("quickstart-sign-in").disabled = true;
}
Antworten:
0 für die Antwort № 1Erstens: Können Sie überprüfen, ob Facebook in der Firebase-Konsole vollständig aktiviert ist? https://console.firebase.google.com/project/_/authentication/providers und wählen Sie Ihre App aus, überprüfen Sie, ob in der Facebook-Sektion die entsprechenden Werte über die Facebook-Konsole konfiguriert wurden.
Zweitens: Stellen Sie sicher, dass Sie von einem Webserver ausgeführt werden. Firebase-Hosting ist eine großartige Möglichkeit, lokal zu laufen (firebase init
, firebase serve
), aber jeder Webserver wird es tun. Das signInWithPopup funktioniert nicht mit einer Datei, die gerade im Browser geöffnet wurde.