Google Glass Java - AuthUtil无法查找用户凭据

时间:2013-08-26 17:12:29

标签: java google-app-engine google-mirror-api google-glass

我目前正在创建一个Glassware应用,该应用基于Java并托管在Google App Engine上。一切都很好......除了某些原因AuthUtil停止能够为提交POST请求的用户找到Credentials对象。

当用户首次导航到我的应用程序的主页并使用他们的Google Account登录/验证时,一切正常。第一张卡被发布到他们的时间线,服务器对所有传入的POSTS做出适当的响应。但是如果服务器闲置大约15-20分钟,那么所有POST请求都会开始失败。

经过一些调试后,我发现AuthUtil.getCredential在闲置一小段时间后不再返回用户的Credential对象。解决此问题的唯一方法是强制用户返回我的主页并重新登录/验证。

以下是我的应用程序的servlet在“doPost”中使用的代码片段:

Notification notification = jsonFactory.fromString(notiString, Notification.class);
String userId = notification.getUserToken();
LOG.info("SERVLET - Request contained user token: " + userId);
Credentials currUser = AuthUtil.getCredential(userId);
if (currUser != null)
{
    LOG.info("SERVLET - User found");
}
else
{
    LOG.severe("SERVLET - User NOT FOUND");
}

注意:我可以确认所有传入的POST都包含用户的令牌标识符字符串。

0 个答案:

没有答案