Pergunta

Imagine que eu quero criar o jogo "paper-tesoura" para o Google Waves. Estou pensando em implementá -lo como um gadget de onda.

A ideia é simples: todos os participantes enviam suas decisões para o meu aplicativo em nuvem (é um aplicativo Java AppEngine), minha parte do servidor coleta esses dados e não compartilha com ninguém até que todos os participantes concluam sua seleção. Depois disso, a seleção é compartilhada para todos os participantes e o vencedor é determinado.

Eu posso usar wave.getViewer().getId() para identificar o usuário no servidor durante gadgets.io.makeRequest. Eu funciona perfeitamente. Mas como posso, no lado do servidor, garantir que a solicitação de entrada seja realmente desse usuário específico de onda? (Como posso aprovar o ID do participante dessa onda não é invadido no lado do cliente? Alguma assinatura de contêiner de onda que permite determinar o ID do participante do onda está disponível?)

Quais são as melhores práticas para a autenticação do participante do Google Wave no meu lado do AppEngine? Forneça exemplos, se possível.

Meu gadget real é mais complicado, mas o problema é o descrito acima.

Foi útil?

Solução

Eu codificava uma solução futura imaginada que é assada diretamente no protocolo de ondas ou na API e espero que ninguém falsifique os IDs dos participantes. Você também pode entrar em contato com a equipe do Wave para tornar a sua necessidade o recurso conhecido e ver se mais alguém está procurando o mesmo.

Parece que já existe alguma integração do OpenAuth para robôs:http://wave-robot-java-client.googlecode.com/svn/trunk/doc/index.html

Você seria capaz de implementar um robô em vez de um gadget? Ou talvez use um robô para auth e tenha a interface do gadget com seu próprio servidor de tokens de autenticação?

Outras dicas

Até onde eu sei, não há uma maneira "fácil" de fazer isso, porque toda a comunicação com os gadgets está diretamente entre o cliente e o gadget, sem a interferência do Google por nada além da descrição XML do gadget.

A única maneira de pensar no topo da minha cabeça é fazer com que seus usuários "faça login" no iFrame do gadget com o recurso de contas do Google App Engine. Isso garantiria que eles sejam de fato quem eles fazem login.

Como posso aprovar o ID do participante dessa onda não é invadido no lado do cliente?

Como um usuário pode hackear seu ID de Patricipant de onda? Eu acho que não há problema, Wave.getViewer (). GetId () deve estar certo.

Eu acho que você gostaria de procurar um robô de onda em vez de um gadget. Há uma diferença.

Os robôs têm consciência de ondas, os gadgets não são.

Wave Robot API: http://code.google.com/apis/wave/extensions/robots/

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top