Javascript Firebase注销不工作

Javascript Firebase注销不工作,javascript,firebase,firebase-authentication,Javascript,Firebase,Firebase Authentication,我正在使用Firebase身份验证与谷歌帐户。登录过程正常,但我在注销时遇到问题。当用户单击“注销”按钮时,一切看起来都很好,但当在注销后单击“登录”按钮时,先前登录的用户将自动登录-不提示输入凭据。即使在匿名模式下也会发生这种情况 这是我正在使用的代码。与Firebase services的所有通信都发生在此处: 函数auth(){ //初始化火基; firebase.initializeApp(设置); var provider=new firebase.auth.GoogleAuthPr

我正在使用Firebase身份验证与谷歌帐户。登录过程正常,但我在注销时遇到问题。当用户单击“注销”按钮时,一切看起来都很好,但当在注销后单击“登录”按钮时,先前登录的用户将自动登录-不提示输入凭据。即使在匿名模式下也会发生这种情况

这是我正在使用的代码。与Firebase services的所有通信都发生在此处:

函数auth(){
//初始化火基;
firebase.initializeApp(设置);
var provider=new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(提供程序)。然后(函数(结果){
//这将为您提供一个Google访问令牌。您可以使用它访问Google API。
var token=result.credential.accessToken;
setItem('tokenK',token);
//已登录的用户信息。
var user=result.user;
var tempName=user.displayName.split(“”);
var fullName=tempName[0].charAt(0).toUpperCase()+tempName[0].toLowerCase().substring(1,tempName[0].length)+
“”+tempName[1]。字符(0)。toUpperCase()+tempName[1]。toLowerCase()。子字符串(1,tempName[1]。长度);
setItem('displayName',fullName);
sessionStorage.setItem('userName',user.email');
}).catch(函数(错误){
//在这里处理错误。
var errorCode=error.code;
var errorMessage=error.message;
//使用的用户帐户的电子邮件。
var email=error.email;
//使用的firebase.auth.AuthCredential类型。
var-credential=error.credential;
console.log(错误);
});

}
我尝试了这个,为我工作

var provider=new firebase.auth.GoogleAuthProvider(); provider.setCustomParameters({ 提示:“选择帐户”
});

我终于明白了。在科尔多瓦工作:

您还需要注销Google Plus。请尝试以下内容:

doLogout(){
    var promise =  new Promise((resolve, reject) => {
      if(firebase.auth().currentUser){
        this.afAuth.auth.signOut();
        if (this.platform.is('cordova')) {
          this.googlePlus.logout();
        }
        resolve(true);
      }
      else {
        reject();
      }
    });
    return promise;    }
----------对于网站,请尝试以下内容:----


您确定要通过.signOut()成功路径吗?如果.signOut()成功完成后,firebase.auth()是否仍返回登录的用户对象?(即,您确定注销成功吗?)。显示您的登录代码也可能会有所帮助,可能有问题。为什么在注销期间调用initializeApp?这通常是在页面首次加载时执行一次的操作。在那之后再调用它是没有意义的。@DougStevenson,因为如果我不再次初始化它,任何东西都不起作用。@joelm进程通过了成功的路径,我看到taht sessionStorage变得干净了。loclaStorage也一样。我已经添加了登录代码,这样您就可以从Begging中看到发生了什么。您应该只需要在每次页面加载时调用initializeApp一次。其他的都不对。非常感谢!我已经找了两天了!
    var provider = new firebase.auth.GoogleAuthProvider(); 

provider.setCustomParameters({ prompt: 'select_account' });