使用Google提供的非常简单的简单示例(Firebase Google Auth),我无法从谷歌退出。
每次签名我都会使用按钮调用此方法,它允许我登录并导航到本地主机。
function logGoogle() {
firebase.auth().signInWithPopup(provider).then(function(result) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// The signed-in user info.
var user = result.user;
location.href = 'http://localhost:8080';
// ...
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
// ...
console.log(errorCode);
console.log(errorMessage);
console.log(email);
console.log(credential);
});
}

然而,当我回到包含注销按钮的主菜单时。它会记录会话,不会删除会话。当我重新登录时,我不需要输入谷歌信誉。请记住,我使用Gmail帐户登录谷歌浏览器。
function logOutGoogle() {
firebase.auth().signOut().then(function () {
console.log("you logged off");
location.href = 'http://localhost/GoogleVue3/';
}).catch(function (error) {
alert(error);
});
}

我尝试了隐身模式。进入谷歌信用卡,去了应用程序,并决定退出。点击登录谷歌,它会自动转到我的应用程序。
任何建议?
答案 0 :(得分:1)
您可能真的不想在浏览器中退出Google(因为它将退出Gmail和您正在使用Google应用程序的所有其他标签/窗口)。当您再次点击Firebase auth时,它会直接跳入应用程序(绕过Google登录名,因为它从未真正退出Google)。您可能希望看到Google帐户选择器,而不是立即登录。如果是这样,here's the answer我提出了一个相关的SO问题。
请注意,您描述的问题仅在您仅登录到一个Google / Gmail帐户后才会发生,即就像在incog模式下一样。如果您登录> 1,则始终会得到帐户选择器,以便Firebase可以告诉您的应用您选择了哪个用户。
答案 1 :(得分:0)
基本上,firebase注销功能会注销应用程序本身,但不会在浏览器上注销谷歌。
要完全注销,您需要先退出应用程序,然后如果成功,请在浏览器中退出Google。 然后,这允许用户在他们退出时不再记录。
function signoff() {
firebase.auth().signOut().then(function () {
window.alert("you have signed off successfully")
window.location = "https://mail.google.com/mail/u/0/?logout&hl=en";
// document.location.href = "https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=http://localhost/GoogleVue4";
}).catch(function (error) {
console.log(error);
})
}