0

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

  1. 首先要求用户进行身份验证。他授予访问权限,将凭据存储在存储中(DB、GAE 数据存储等)。

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

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

  4. 应用程序正在从商店检索凭据。测试凭据有效性(非 null 且无效属性为 False)

  5. 调用 API

  6. 检索 401,未经授权的异常。

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

谢谢你的帮助。

4

2 回答 2

0

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

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

于 2013-05-09T06:03:40.093 回答
0

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

  1. oAuth2 -> access_token* (* - 未验证)
  2. 带有 [access_token*] -> “ok”或“invalid”的 GoogleAPI.tokeninfo
  3. 如果 "ok" - 用于请求的权限
于 2015-12-14T13:30:12.723 回答