2009-11-23 2 views
3

Представьте, что я хочу создать игру «Rock-paper-scissors» для Google Waves. Я собираюсь реализовать его как волновой гаджет.Как проверить подлинность Google гаджета на Appengine?

Идея проста: все участники направить свои решения на мой облако приложение (это Java-приложение Appengine), моя серверная часть собирает эти данные и не разделяет ни с кем, пока все участники не завершить свой выбор. После этого выбор делится на всех участников , и победитель определяется.

Я могу использовать wave.getViewer().getId() для идентификации пользователя на сервере во время gadgets.io.makeRequest. Я отлично работаю. Но как я могу на стороне сервера убедиться, что входящий запрос действительно от этого конкретного пользователя волны? (Как я могу утверждать участник идентификатор, волны не взломан на стороне клиента? Любая волна контейнер подпись позволяет определить участника волны идентификатор доступен?)

Каковы наиболее эффективные методы для аутентификации участника Google Wave на моем AppEngine боковая сторона? Приведите примеры, если это возможно.

Мой фактический гаджет более сложный, но проблема такая, как описано выше.

ответ

1

Я бы запрограммировал против воображаемого будущего решения, которое выпекается непосредственно в протоколе Wave или API и надеется, что никто не обманывает идентификаторы участников. Вы также можете связаться с командой Wave, чтобы сделать вашу потребность в известной функции и посмотреть, ищет ли кто-нибудь другой.

Похоже, есть некоторые OpenAuth интеграция уже встроенная для роботов: http://wave-robot-java-client.googlecode.com/svn/trunk/doc/index.html

ли вы быть в состоянии осуществить робот вместо гаджет? Или, может быть, использовать робота для auth и иметь интерфейс гаджета с вашим собственным сервером авторизации tokens?

0

Насколько я могу судить, нет никакого «простого» способа сделать это, потому что все общение с гаджетами происходит непосредственно между клиентом и гаджетом, без вмешательства Google для чего-либо, кроме описания XML-гаджета.

Единственный способ, с помощью которого я могу придумать голову, состоит в том, чтобы ваши пользователи «вошли в систему» ​​в irame гаджета с функцией учетных записей Google App Engine. Это гарантировало бы, что они действительно являются теми, кто входит в систему.

0

Как я могу подтвердить, что идентификатор участника волны не взломан на стороне клиента?

Как пользователь может взломать идентификатор его патриципанта? Я думаю, что нет проблем, wave.getViewer(). GetId() должен быть прав.

Смежные вопросы