如何使用 Google 的 Javascript API 撤销 Oauth 令牌?

How to revoke Oauth token by using Google's Javascript APIs?

在我的(客户端 AngularJS)Web 应用程序中,我使用 Google API 的 Oauth 让用户登录

        gapi.auth.authorize({
            client_id: clientId,
            scope: scopes,
            immediate: true 
        }, handleAuthResult);

现在我也想让用户注销。

我发现我可以使用 HTTP 请求来做到这一点,如下所述:

https://developers.google.com/+/web/signin/disconnect

然而,由于我使用 Javascript APIs 登录,我想 使用 Javascript 也用于注销(即撤销访问令牌).

可能吗?如果是,如何?

编辑 :我明确表示我的目标不是通过 jQuery 使用 HTTP 请求,而是更类似于登录的内容,例如:

gapi.auth.signout (..

Google GAPI 库没有这样的方法。如果您 jQuery 厌恶,用 XMLHttprequest.

替换 $.ajax 并不难

确保您了解 "signing out"(您的 Google 帐户)和撤销访问令牌之间的区别。它们不是一回事。

在会话中,典型的顺序是:-

1/ 检查您的会话对象,看它是否持有用户对象。

1a/ 如果是,则您的用户是 "logged in"

1b/ 如果不是,使用 OAuth 发现用户是谁,在您的用户数据库中查找他,并将他的用户对象存储在您的会话中

要注销,只需从会话中删除用户对象即可。

对于 OAuth 世界中的 user/session 管理,此技术有许多变体和替代方法。这只是一种方法。