我是Glass的新手,我按照此链接https://developers.google.com/glass/develop/mirror/quickstart/java将项目部署到Google应用引擎。
现在一切正常,但每次当我关闭浏览器然后打开浏览器并访问我的网站(mysite.appspot.com)时,它都需要一次又一次的用户许可。
请帮我解决,非常感谢你。
答案 0 :(得分:0)
这是因为Java Quickstart演示使用会话来识别用户。会话的生命周期结束的原因之一是用户退出浏览器。因此,当您关闭然后重新打开浏览器时,自会话结束后,Web应用程序无法识别您。
在会话中检查用户身份的代码位于Quickstart演示项目的AuthFilter.java中:
if (AuthUtil.getUserId(httpRequest) == null
|| AuthUtil.getCredential(AuthUtil.getUserId(httpRequest)) == null
|| AuthUtil.getCredential(AuthUtil.getUserId(httpRequest)).getAccessToken() == null) {
// redirect to auth flow
httpResponse.sendRedirect(WebUtil.buildUrl(httpRequest, "/oauth2callback"));
return;
}
如果servlet找不到用户ID(就像用户ID不再保存在会话中那样),它会再次通过身份验证过程运行用户,该过程以上面代码中的httpResponse.sendRedirect调用开始