我目前正在使用Google Cloud Endpoint生成的JavaScript客戶端對我的後端進行API調用。問題是我的頁面的cookies沒有被添加到HTTP請求中。我如何將Gitkit gtoken cookie添加到我的請求中。使用Google Cloud Endpoints JavaScript客戶端時在HTTP請求中包含Cookie
- 後端是谷歌應用程序引擎的Java
- 使用古爾雲端點建立我的API
- 使用加載了谷歌雲端點JavaScript的Web客戶端如下
gapi.client.load('myApi', 'v1', resourceLoaded, 'https://my-project-id.appspot.com/_ah/api');
我已經配置了谷歌雲終端,在後端,允許cookie。 auth = @ApiAuth(allowCookieAuth = AnnotationBoolean.TRUE)
我的端點如下所示。
@ApiMethod(path = "user-account")
public UserAccount get(HttpServletRequest httpRequest) {
GitkitUser gitkitUser = Gitkit.validate(httpRequest); // returns null
Cookie[] cookies = httpRequest.getCookies();
log.severe("# of cookies: " + cookies.length);
for (Cookie cookie : cookies) {
log.severe("cookie name: " + cookie.getName());
log.severe("cookie value: " + cookie.getValue());
}
/*
* Logs 1 for # of cookies, with a cookie name of "G_ENABLED_IDPS"
* a value of "google". No gtoken cookie, even though I have
* checked and there is one!
*/
...
}
我正在使用Google Cloud Endpoints JS客戶端撥打電話。
gapi.client.myApi.userAccountResource.get().execute(function (resp){
...
});
有什麼我必須做的,以確保端點JS客戶端包括在它的請求gtoken餅乾嗎?
打開賞金,仍然沒有答案!有什麼我可以做的,使這個問題更清楚? –
Hi Marc,你可以添加cookies存儲+請求標題的屏幕截圖,並創建一個plunker/jsfiddle/jsbin來重現問題。 –
@AlexanderTrakhimenok你的意思是瀏覽器端的cookie存儲? –