Google API OAuth2:处理无效令牌

时间:2013-05-08 00:09:21

标签: google-api google-drive-api google-oauth

在使用OAuth2时我遇到了一个棘手的问题。

  1. 首先向用户询问身份验证。他授予访问权限,将凭证存储在商店(DB,GAE数据存储区等)中。

  2. 在您的Google个人资料中转到您的授权访问权限并撤消 应用

  3. 返回应用程序,启动一个导致API调用的操作(已测试 使用Drive API)

  4. App正在从商店检索凭据。测试凭证有效性 (不为null且无效属性为False)

  5. 调用API

  6. 检索401,未经授权的例外。

  7. 在有效调用API之前,如何检测凭据是否无效? 也许这是使用凭证的方式?

    感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您存储的凭据是什么?访问令牌?刷新令牌?

考虑使用tokeninfo端点https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=

答案 1 :(得分:0)

在使用access_token之前,首先在GoogleAPI中调用[tokeninfo](如果它是一个新的access_token,则总是如此)。我浪费了几个小时来解决这个问题。 我的Windows应用程序工作流程:

  1. oAuth2 - > access_token *(* - 未经验证)
  2. 带有[access_token *]的GoogleAPI.tokeninfo - > “ok”或“invalid”
  3. if“ok” - 使用请求的权限