MarzSocks
MarzSocks

Reputation: 4318

GoogleAuth.signOut() does not work

I have a google sign-in button on my page, using gapi.signin2.render to render the button (https://developers.google.com/identity/sign-in/web/reference#gapisignin2renderid-options).

However it ALWAYS renders as signed-in, despite calling GoogleAuth.signOut(). In fact I can actually call GoogleAuth.signOut() and immediatly check GoogleAuth.isSignedIn.get() to check the state and returns as true.

Does anyone know how to fix this? My sign-out code is as follows:

var GoogleAuth = gapi.auth2.getAuthInstance();

GoogleAuth.signOut().then(() => {

    var status = GoogleAuth.isSignedIn.get(); //ALWAYS TRUE!!!!

    alert('IP.common.oAuth.signOut: signin status: ' + status);

}); 

Upvotes: 2

Views: 2099

Answers (1)

DropDrage
DropDrage

Reputation: 935

This should be work fine. Delete then(this.props.onLogoutSuccess)) if you don't need it.

signOut() {
   if (window.gapi) {
      const auth2 = window.gapi.auth2.getAuthInstance()
      if (auth2 != null) {
        auth2.signOut().then(auth2.disconnect().then(this.props.onLogoutSuccess))
      }
   }
}

Very nice lib, if you wanna learn how to work with Google API https://github.com/anthonyjgrove/react-google-login. Yes it's react, but methods should be similar, I think.

Upvotes: 1

Related Questions