Oauth 2.0 在我的网站上使用谷歌登录,我如何才能注销用户?

Oauth 2.0 在我的网站上使用谷歌登录,我如何才能注销用户?,oauth-2.0,google-signin,google-oauth,google-openid,Oauth 2.0,Google Signin,Google Oauth,Google Openid,我似乎有一个有效的解决方案,但它难以置信地复杂 首先,我需要下载一些代码: <script src="https://apis.google.com/js/platform.js"></script> 第四,福,我终于可以注销了: gapi.auth2.getAuthInstance().signOut().then(function () { ... }); 我做错什么了吗?这能做得

我似乎有一个有效的解决方案,但它难以置信地复杂

首先,我需要下载一些代码:

<script src="https://apis.google.com/js/platform.js"></script>
第四,福,我终于可以注销了:

            gapi.auth2.getAuthInstance().signOut().then(function () {
                  ...
            });

我做错什么了吗?这能做得容易些吗?我找到了一些正确的文档和

。这很复杂,但都是必要的步骤

稍微优化一下,您可以请求小于
platform.js
的内容。即
https://apis.google.com/js/auth2:signin2.js

我要做的是设置一个回调,所以类似这样:

<meta name="google-signin-client_id" content="{{ OAUTH2_CLIENT_ID }}">

<script src="https://apis.google.com/js/auth2:signin2.js?onload=googleAPILoaded"></script>
<script>
window.googleAPILoaded = function() {
  gapi.auth2.init();
  gapi.auth2.getAuthInstance()
  .then(function() {
      this.signOut().then(serverSignout);
  });
}
</script>
</head>

window.googleAPILoaded=函数(){
gapi.auth2.init();
gapi.auth2.getAuthInstance()
.然后(函数(){
this.signOut().then(serverSignout);
});
}
以下是如何使用模板以稍微优雅的方式初始化登录和权限授予过程:


函数onSignIn(谷歌用户){
var profile=googleUser.getBasicProfile();
var idToken=googleUser.getAuthResponse().id\u token;
}
函数onSignOut(){
var auth2=gapi.auth2.getAuthInstance();
auth2.signOut();
}

我知道这一点,但因为我执行了从登录页面(其中存在gapi.auth2.getAuthInstance变量)到应用程序页面的重定向。也许这一步是错误的,谷歌建议我应该为所有内容设置一个页面。您是否也认为登录页面没有必要?auth2:signn2.js文件有15K,packages.js有16K。auth2:signin2.js向我显示了307内部重定向,因此下载时间可能更长
<meta name="google-signin-client_id" content="{{ OAUTH2_CLIENT_ID }}">

<script src="https://apis.google.com/js/auth2:signin2.js?onload=googleAPILoaded"></script>
<script>
window.googleAPILoaded = function() {
  gapi.auth2.init();
  gapi.auth2.getAuthInstance()
  .then(function() {
      this.signOut().then(serverSignout);
  });
}
</script>
</head>