Mirror API总是请求auth-java示例代码

时间:2014-10-22 04:45:23

标签: authentication google-glass

我是Glass的新手,我按照此链接https://developers.google.com/glass/develop/mirror/quickstart/java将项目部署到Google应用引擎。

现在一切正常,但每次当我关闭浏览器然后打开浏览器并访问我的网站(mysite.appspot.com)时,它都需要一次又一次的用户许可。

请帮我解决,非常感谢你。

1 个答案:

答案 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调用开始