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