想象一下,我想为Google Waves制作游戏“Rock-paper-scissors”。 我正在考虑将其作为Wave Gadget实现。
这个想法很简单:所有参与者都将他们的决定发送到我的云端 应用程序(它是一个Appengine Java应用程序),我的服务器部分收集 这些数据并没有分享给任何人,直到所有参与者 完成他们的选择。在此之后,选择将共享给所有人 参与者和获胜者已确定。
我可以使用wave.getViewer().getId()
来识别服务器上的用户
在gadgets.io.makeRequest
期间。我工作得很完美。
但是,如何在服务器端确保传入的请求是
真的来自这个特定的wave用户吗? (我怎么能批准那波
参与者ID在客户端没有被黑客攻击?任何波形容器
允许确定wave参与者ID的签名?)
Google Wave参与者身份验证的最佳做法是什么? 在我的appengine方面?如果可能,请提供示例。
我的实际小工具更复杂但问题如上所述 上方。
答案 0 :(得分:1)
我会针对想象的未来解决方案进行编码,该解决方案直接融入Wave协议或API,并希望没有人欺骗参与者ID。您也可以联系Wave团队,了解您对该功能的需求,看看是否还有其他人在寻找相同功能。
看起来已经为机器人内置了一些OpenAuth集成: http://wave-robot-java-client.googlecode.com/svn/trunk/doc/index.html
您能够实现机器人而不是小工具吗?或者也许可以使用机器人进行身份验证,并将小工具界面与您自己的身份验证令牌服务器端相连接?
答案 1 :(得分:0)
据我所知,没有“简单”的方法可以做到这一点,因为与小工具的所有通信都直接在客户端和小工具之间进行,除了小工具的XML描述之外没有谷歌干扰。
我能想到的唯一方法就是让您的用户使用Google App Engine的帐户功能“登录”小工具的iframe。这将确保他们确实是他们登录的人。
答案 2 :(得分:0)
我如何批准wave的参与者ID在客户端没有被黑客攻击?
用户如何破解他的wave patricipant id? 我认为没有问题,wave.getViewer()。getId()应该是正确的。
答案 3 :(得分:0)
我认为你想要研究制造一个波浪机器人而不是一个GADGET。有区别。
机器人是波浪感知的,小工具不是。
Wave Robot API:http://code.google.com/apis/wave/extensions/robots/