以编程方式撤销 Google 帐户的 OAuth 令牌

Posted

技术标签:

【中文标题】以编程方式撤销 Google 帐户的 OAuth 令牌【英文标题】:Programmatically Revoke OAuth token for google account 【发布时间】:2011-10-29 01:29:54 【问题描述】:

所以页面末尾的here 说明了一种能够通过 AuthSub api(旧 api)撤销此令牌的方法。

我使用新的 api OAuth 管理整个身份验证系统,当我尝试使用 authsub 步骤撤销令牌时,它只会向我发送“HTTP 错误 403:无效的 AuthSub 令牌”。

这是我在 python 中的代码:

req = urllib2.Request("https://www.google.com/accounts/AuthSubRevokeToken",headers=
      'Authorization':'AuthSub token="mysuperloluselesstoken"')
urllib2.open(req)

有没有更简单的方法来做到这一点?我应该对 secret_token + user_token + consumer 做些什么吗?

【问题讨论】:

为什么要使用 OAuth?为什么不是秘钥?您的目标是访问 Google API 对吗? 不,我的目标是从我的系统中撤销 OAuth 令牌,而无需将用户重定向到 google API 页面并让用户手动删除它 【参考方案1】:

刚刚在这里回答: Server side removal of Oauth token

您拥有请求撤销 OAuth 1.0 令牌的正确 URL(使用 AuthSub 端点)。上面的主要问题是您正在构建一个 AuthSub Authorization 标头。相反,您应该构建一个 OAuth 1.0 签名请求(与通过 OAuth 1.0 签署任何其他请求的方式相同):https://www.rfc-editor.org/rfc/rfc5849#section-3.5.1

【讨论】:

以上是关于以编程方式撤销 Google 帐户的 OAuth 令牌的主要内容,如果未能解决你的问题,请参考以下文章

撤销令牌 OAuth 2 google api

以编程方式列出 Google Cloud Platform 项目中的 Oauth 2.0 客户端 ID

通过OAuth 2.0令牌撤销提高帐户安全性

AWS 以编程方式为其他人部署实例(AWS CLI OAuth?)

使用 Django OAuth2 Toolkit 以编程方式生成访问令牌

Google OAuth 2.0 服务帐户 - 日历 API(PHP 客户端)