OpenID login no GMail contextuais gadget usando GWT
-
14-11-2019 - |
Pergunta
O que você costuma fazer em uma aplicação GWT para iniciar sessão utilizando OpenID é o seguinte:
LoginInfo loginInfo = new LoginInfo();
UserService userService = UserServiceFactory.getUserService();
loginInfo.setLoginUrl(userService.createLoginURL(returnToUrl));
return loginInfo();
Onde returnToUrl atual é a URL que você gostaria de redirecionar de volta após a verificação.Isso funciona bem, se returnToUrl é uma URL simples como http://mydomain.com/go/here
Mas como meu aplicativo é executado como um GMail contextuais gadget, é envolto em um quadro que recebe o seu conteúdo a partir de um proxy google (googleusercontent.com).Portanto, este é o um pouco mor complexe - URL dentro do quadro eu gostaria de redirecionar de volta para:
Durante o OpenID o registo, o utilizador é redireccionado várias vezes e, se a returnToUrl não está devidamente codificado de url peças de ele se perder.
Como eu descobri aqui, você mesmo, em alguns casos, dar um duplo-codificar o URL.Mas desta vez eu não sou capaz de codificar a URL corretamente.
Então, minhas perguntas:
Você tem todas as dicas de que um OpenID-voltar-para-URL deve assemelhar-se em um Gmail contextuais gadget?
Ou talvez um pouco mais simples pergunta:Existe alguma outra maneira, que eu possa recuperar o e-mail do atual registrado no usuário do GMail?
Solução
Você não pode usar o openId login a partir de dentro de um Gadget, porque o seu gadget é representada através do gadget recipiente.Você tem que abrir uma janela popup para fazer o openId login e associar o opensocialId para o seu openId identidade no servidor.Você tem que persistir a relação entre openSocialId e a identidade do usuário no servidor.A partir de então, o gadget conhece a sua identidade, solicitando a relação de sua opensocialId.
veja também http://code.google.com/googleapps/marketplace/best_practices.html#gadget_sso