【问题标题】:Mirror API always request auth - java example code镜像 API 总是请求授权 - java 示例代码
【发布时间】:2014-10-23 12:54:41
【问题描述】:
【问题讨论】:
标签:
authentication
google-glass
【解决方案1】:
这是因为 Java 快速入门演示利用会话来识别用户。会话生命周期结束的原因之一是用户退出浏览器。因此,当您关闭然后重新打开浏览器时,网络应用程序无法识别您,因为会话已经结束。
在会话中检查用户身份的代码在 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 调用开始.