【发布时间】:2013-11-24 19:39:03
【问题描述】:
我很难找到关于在 my GAE 应用程序中使用 OAuth2 的明确答案。首先,这不是端点应用程序,只是一个普通的旧 python 应用程序。
如果在我的应用程序 (appid.appspot.com/_ah/OAuth*) 中使用 OAuth 端点,我可以获得 oauth.get_current_user() 方法来返回经过身份验证的用户,但这是使用已弃用的 OAuth1 - Google 的开发文档非常清楚.
所以我尝试使用 Google 的 OAuth2 端点对我的应用程序进行身份验证,并且我已经获得了访问令牌,但是我的 GAE 应用程序中的 oauth.get_current_user() 调用总是抛出异常(无效的 OAuth sig)并且从不按预期呈现用户对象.我已经尝试使用各种范围授权我的应用程序(https://www.googleapis.com/auth/userinfo.email 和https://www.googleapis.com/auth/appengine.admin),但这并不重要,因为当我使用 OAuth2 令牌签署请求时,我的 GAE 应用程序从不接受该请求为有效且 oauth.get_current_user()总是抛出异常。
所以我的问题是,在使用 OAuth2 令牌签署请求时,我是否可以在我的 GAE 应用程序中使用 oauth.get_current_user() 调用?如果是这样,我必须授权哪个范围访问 GAE 应用程序?
【问题讨论】:
-
我们的应用也遇到了类似的问题。更糟糕的是,由 App Engine OAuth 1 认证的用户的 Google 用户 ID (user.user_id()) 与 OAuth 2 认证返回的 Google 用户 ID 不同,对于同一个人。
标签: python google-app-engine oauth