我試圖訪問HttpSession
對象(或類似的API,讓我獲取會話屬性)從谷歌雲端點後端方法的內部...Google Cloud Endpoint後端 - 是否可以檢索HttpSession的屬性?
閱讀this answer我學習,我可以注入一個HttpRequest
對象作爲參數。
我想要做的是檢索一個facebook訪問令牌以前由一個Servlet存儲的。
內開發Web服務器,我可以檢索HttpSession
並獲得所需的屬性:
@ApiMethod
public MyResponse getResponse(HttpServletRequest req) {
String accessToken = (String) req.getSession().getAttribute("accessToken");
}
但是,一旦我在我的應用程序部署到GAE,檢索訪問令牌總是空。
那麼有沒有辦法從API內部恢復會話屬性?
如果沒有,如何從其他位置檢索我的訪問令牌?在mentioned question的答案和評論建議使用數據存儲,但我真的不能想到一個關鍵的好自然候選人......就GAE認證機制而言,我的用戶甚至沒有登錄,我不知道如何從Datastore/memcached或任何其他機制檢索當前用戶的access_token
。
嗨丹,感謝您的報告。我通過客戶端ajax請求直接調用端點,我不想在客戶端和服務器之間共享令牌......有沒有辦法在服務器端的頭部注入access_token?也許像「過濾器」)? –
另一個問題......看起來像jcache(memcache)在從api方法中請求緩存條目時也無法在生產服務器上工作(我可以通過Servlet以及通過memcache控制檯檢索相同的屬性...) 。你知道jcache是否應該工作嗎? –
那麼你是否說與Google應用程序引擎端點一起使用會話是不可能的?你提交請求已經過去了一年,有什麼消息嗎? – hordurh