将Google AppEngine应用用作OAuth提供者

1 投票
1 回答
814 浏览
提问于 2025-04-15 23:53

我正在使用 Google AppEngine 1.3.4 SDK,这个工具可以让你的应用程序充当一个 OAuth 服务提供者(http://code.google.com/appengine/docs/python/oauth/)。我在本地搭建了一个标准应用,并使用了以下代码:

Request URL /_ah/OAuthGetRequestToken
Authorize URL /_ah/OAuthAuthorizeToken
Access Token URL /_ah/OAuthGetAccessToken

但是,客户端应用程序会被引导到一个请求授权 OAuth 访问的页面,尽管没有用户登录。点击“授权访问”后,会出现一条消息说“OAuth 访问已授权”,但没有任何令牌或其他东西交换。我不明白在没有提示登录的情况下,这个流程怎么能正常工作。

由于这个功能比较新,我找不到太多相关的信息。我之前在 Rails 中创建过一个 OAuth 提供者,知道需要一个消费者密钥和秘密,但在 GAE 中似乎缺少这些东西?

如果有人能提供一些关于如何在 GAE 示例项目中让 OAuth 正常工作的建议,我将非常感激。

1 个回答

0

我猜这个SDK的实现方式是直接给你访问权限,不管怎样。也有可能你仍然有一个开发服务器的登录cookie。不管怎样,建议你在正式环境中试一下——那样的话,几乎肯定会要求你登录。

撰写回答