0

我正在尝试使用/理解 Google 请求令牌机制。我打算将它用于我已经开始开发的应用程序,以使用 OpenSocial API 访问 Orkut 数据。

我阅读了这篇文档,其中解释了为已安装的应用程序获取令牌的步骤。本文档告诉您使用 Google OAuth API 中的 OAuthGetRequestToken 方法来获取请求令牌。访问此功能的手册(可在此处获得)。但是参数 oauth_consumer_key 是必需的,要求“识别第三方 Web 应用程序的域”,但我没有域,它是一个已安装的应用程序。

所以我的问题是,在这种情况下我应该在这个参数中输入什么?

我正在使用oauth_playground来运行我的测试。

谢谢

4

2 回答 2

1

根据我在文档中阅读的内容,以下有关获取请求令牌的说明意味着您只需将“匿名”作为消费者密钥传递...

“1. 安装的应用程序联系 Google 授权服务,请求一个或多个 Google 服务的请求令牌。该请求使用“匿名”消费者密钥/秘密进行签名。” ( OAuthForInstalledApps )

于 2009-12-17T08:59:50.937 回答
0

诀窍是创建一个混合身份验证过程。您在自己拥有的域中注册 Web 应用程序,通过 Web 应用程序的 OAuth 流程授权用户使用 Web 应用程序,然后实施一种机制,他们安装的应用程序可以通过该机制从 Web 应用程序中获取该授权。

我对此的想法是,已安装的应用程序会向您的网站发送密钥对请求。它将接收一个启动密钥和一个授权密钥,您可以将它们存储在网站的数据库中以供一次性使用。

然后,该应用程序将使用任何机制来启动外部浏览器,将其指向 yourdomain.com/authorizestart.php?initiate=[initiate code]。该站点将代码存储在会话变量中,然后将用户发送到 Google 进行身份验证。当身份验证成功并且 Google 将下一个令牌发送回用户时,您将其存储在与启动密钥相关的数据库条目中。

用户关闭浏览器,单击应用程序中的“完成”按钮,然后应用程序向 yourdomain.com/tokenretrieve.php?authorize=[authorize key] 发送请求

您的站点查找 Google 令牌并将其传回,应用程序完成 Oauth 过程。

这样做的问题是您必须与应用程序共享您在注册过程中创建的“消费者秘密”。有人可能会反编译它或尝试捕获其输出并发现您的密钥,这是加密来自 Google 服务器的响应的方法的一部分。也就是说,这比使用“匿名”作为您的消费者秘密更糟糕吗?

于 2010-04-03T00:51:53.090 回答