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

时间:2015-04-01 15:58:49

标签: javascript google-oauth

在我的(客户端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 API进行登录,我想也使用Javascript进行注销(即撤销访问令牌)

有可能吗?如果是,怎么样?

编辑:我确切地说我的目标不是通过jQuery使用HTTP请求,而是更类似于登录,例如:

  
    

gapi.auth.signout(..

  

1 个答案:

答案 0 :(得分:2)

Google GAPI库没有这样的方法。如果您反对jQuery,那么用XMLHttprequest替换$ .ajax并不困难。

确保您了解"退出"之间的区别(您的Google帐户)并撤消访问令牌。它们不是一回事。

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

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

1a /如果是,您的用户是"已登录"

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

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

这种技术有许多变体和替代方案可供OAuth世界中的用户/会话管理使用。这只是一种方法。