Google Cloud Endpoint后端 - 是否可以检索HttpSession的属性?

Ant*_*oly 3 java google-app-engine google-cloud-endpoints

我正在尝试HttpSession从Google Cloud Endpoints后端方法内部访问对象(或类似的API,让我获取会话属性)...

阅读这个答案我已经知道我可以注入一个HttpRequest对象作为参数.

我想要做的是检索以前由Servlet存储的facebook 访问令牌.

在Development Web Server中,我可以检索HttpSession并获取所需的属性:

@ApiMethod
public MyResponse getResponse(HttpServletRequest req) {
    String accessToken = (String) req.getSession().getAttribute("accessToken");
}
Run Code Online (Sandbox Code Playgroud)

但是,一旦我将应用程序部署到GAE,检索到的访问令牌始终为空.

那么有没有办法从api方法中恢复会话属性?

如果没有,我如何从其他地方检索我的访问令牌上述问题中的答案和评论建议使用数据存储,但我真的想不出一个关键的自然候选者...就GAE认证机制而言,我的用户甚至没有登录,我不知道如何access_token从Datastore/memcached或任何其他机制中检索当前用户.

Dan*_*oet 6

我已经提交了一个功能请求来支持生产中的会话,因为我可以确认它现在无法正常工作.

现在,我建议您继续在标头中的后续请求中传递访问令牌.通过注入可以类似地获得头信息HttpServletRequest.