【发布时间】:2013-10-22 11:56:56
【问题描述】:
我正在尝试从 Google Cloud Endpoints 后端方法内部访问 HttpSession 对象(或可让我获取会话属性的类似 API)...
阅读this answer 我了解到我可以将HttpRequest 对象作为参数注入。
我想要做的是检索以前由 Servlet 存储的 facebook 访问令牌。
在开发 Web 服务器中,我可以检索 HttpSession 并获得所需的属性:
@ApiMethod
public MyResponse getResponse(HttpServletRequest req) {
String accessToken = (String) req.getSession().getAttribute("accessToken");
}
但是,一旦我将应用程序部署到 GAE,检索到的 访问令牌 始终为空。
那么有没有办法从 api 方法中恢复会话属性?
如果没有,我如何从其他地方检索我的访问令牌? mentioned question 中的答案和 cmets 建议使用数据存储,但我真的想不出一个好的自然候选密钥……就 GAE 身份验证机制而言,我的用户甚至没有登录,我不知道如何从Datastore/memcached或其他任何机制中检索当前用户的access_token。
【问题讨论】:
标签: java google-app-engine google-cloud-endpoints