【问题标题】:How authenticate Google wave gadget viewer on Appengine?如何在 Appengine 上验证 Google Wave 小工具查看器?
【发布时间】:2017-04-25 08:05:21
【问题描述】:

假设我想为 Google Waves 创建游戏“剪刀石头布”。 我正在考虑将其实现为 Wave Gadget。

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

我可以使用wave.getViewer().getId() 来识别服务器上的用户 在gadgets.io.makeRequest 期间。我工作完美。 但是,在服务器端,我怎样才能确保传入的请求是 真的来自这个特定的波浪用户吗? (我怎么能批准那波 参与者ID没有在客户端被黑?任何波浪容器 允许确定 Wave 参与者 ID 的签名可用?)

Google Wave 参与者身份验证的最佳做法是什么 在我的应用引擎方面?如果可能,请提供示例。

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

【问题讨论】:

    标签: java security google-app-engine google-wave


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        如何在客户端确认 wave 的参与者 ID 没有被黑客入侵?

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

        【讨论】:

          【解决方案4】:

          我认为您应该考虑制作波浪机器人而不是小工具。有区别。

          机器人具有波浪感知能力,而小工具则没有。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-03-07
            • 1970-01-01
            • 1970-01-01
            • 2013-06-12
            • 1970-01-01
            相关资源
            最近更新 更多