3

想象一下,我想为 Google Waves 创建游戏“Rock-paper-scissors”。我正在考虑将其实现为 Wave Gadget。

这个想法很简单:所有参与者都将他们的决定发送到我的云应用程序(它是一个 Appengine Java 应用程序),我的服务器部分收集这些数据并且在所有参与者完成他们的选择之前不会分享给任何人。在此之后,选择将分享给所有参与者,并确定获胜者。

我可以wave.getViewer().getId()gadgets.io.makeRequest. 我工作完美。但是,在服务器端,我如何确保传入的请求确实来自这个特定的 wave 用户?(我如何才能批准 wave 的参与者 ID 在客户端没有被黑客入侵?任何允许确定 wave 参与者 ID 的 wave 容器签名都可用?)

在我的 appengine 端进行 Google Wave 参与者身份验证的最佳做法是什么?如果可能,请提供示例。

我的实际小工具更复杂,但问题如上所述。

4

4 回答 4

1

我会针对直接融入 Wave 协议或 API 的想象中的未来解决方案进行编码,并希望没有人欺骗参与者 ID。您也可以联系 Wave 团队,了解您对该功能的需求,看看是否有其他人也在寻找相同的功能。

看起来已经为机器人内置了一些 OpenAuth 集成: http ://wave-robot-java-client.googlecode.com/svn/trunk/doc/index.html

你能实现一个机器人而不是一个小工具吗?或者也许使用机器人进行身份验证,并在服务器端使用您自己的身份验证令牌的小工具接口?

于 2009-12-25T21:48:23.037 回答
0

据我所知,没有“简单”的方法可以做到这一点,因为与小工具的所有通信都直接在客户端和小工具之间进行,除了小工具的 XML 描述之外,Google 不会干预任何内容。

我能想到的唯一方法是让您的用户使用 Google App Engine 的帐户功能“登录”到小工具的 iframe。这将确保他们确实是他们登录的任何人。

于 2009-12-21T15:14:03.427 回答
0

我怎样才能批准 wave 的参与者 ID 在客户端没有被黑客入侵?

用户如何破解他的 Wave 参与者 ID?我认为没有问题,wave.getViewer().getId() 应该是对的。

于 2009-12-27T14:48:52.093 回答
0

我想你会想研究做一个波浪机器人而不是一个小工具。它们是有区别的。

机器人具有波浪意识,而小工具则没有。

Wave 机器人 API:http ://code.google.com/apis/wave/extensions/robots/

于 2009-12-29T06:59:36.937 回答