无法撤消Google API应用权限[WEB]

时间:2016-02-26 11:51:17

标签: javascript oauth google-oauth google-signin

我正在创建一个允许用户使用其Google帐户凭据登录的网络应用程序。我正在使用Google登录API执行此操作。

到目前为止,用户可以登录并注销并向我的应用授予所需的权限。都好。但是,我想让我的用户选择取消他们的谷歌帐户与我的应用程序,并销毁属于他们的任何数据。

我查看了文档(SO answer),它只是暗示了这一点;

var revokeAllScopes = function() {
  auth2.disconnect();
}

这似乎没有做任何事情。我仍然可以登录并注销,而无需再次请求应用程序的任何权限。我在这里遗漏了什么,或者我对这是如何起作用的理解?

以下是登录和退出的代码;

<div class="g-signin2" data-onsuccess="onSignIn"></div>

<a href="#" onclick="signOut();">Sign out</a>
<a href="#" onclick="revokeAllScopes()">Revoke Scopes</a>
<script>
    var revokeAllScopes = function() {
        auth2.disconnect();
    }
    function signOut() {
        var auth2 = gapi.auth2.getAuthInstance();
        auth2.signOut().then(function () {
            console.log('User signed out.');
        });
    }
</script>

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

我发现了自己的错误。我忘了我在signout函数中声明了auth2变量,因此它在removeAllScopes函数中不可用。我的坏。