繁体   English   中英

已安装应用程序的OAuth请求令牌

[英]OAuth request token for an installed application

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

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

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

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

谢谢

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

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

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

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

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

用户关闭浏览器,单击您应用程序中的“完成”按钮,然后该应用程序将请求发送到yourdomain.com/tokenretrieve.php?authorize= [授权密钥]

您的网站会查找Google令牌并将其传输回去,该应用程序会完成Oauth流程。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM