我们有Vaadin 6应用程序,我们已经实现了Google / Facebook oauth2登录,这在生产中非常有效(https://apps.thecloudstream.com)。我们有google market place app和chrome store app都指向我们通过URI处理程序处理的特殊网址(http://apps.thecloudstream.com/marketpace/google)。
我最近两天陷入困境的一个奇怪问题是,当我们添加Chrome商店应用时,我们的页面变得无法响应,而在删除扩展后,每件事情都变好了。更深入地看,当按下任何按钮(google / facebook)进行oauth2登录时,我们会附加HttpServletRequestListener
。
登录过程也很顺利,我们可以获取用户信息但是当从google / facebook服务器返回此信息时,我们的onRequestStart()
被点击,然后我们执行其余的操作,但在这种特殊情况下,此方法没有命中,页面变得没有响应。如果我们从另一个选项卡点击,那么我们的代码进入onRequestStart()
,然后流程就变好了。
任何人都可以指出我做错了什么。我试图使用GWT插件进行调试,但谷歌关闭它并不起作用。
更新:在深入挖掘代码后,我发现以下调用导致页面无响应
writeAjaxPage(request, response, window, application);
非常感谢任何帮助。
答案 0 :(得分:0)
无法理解究竟是什么原因,但我得到的一些提示,不确定但是专家们可以确认,Chrome应用程序在一个单独的容器中运行,无法处理重定向,并且有一个使用chrome应用程序的oauth库,但在我的情况下,我没有使用它,所以我找到了一个解决方法,即
我在一个单独的域上创建了一个html页面,它只是重定向到我的实际网址并将其放入解决问题的Chrome应用程序中。