0

我正在尝试从 AppEngine Endpoints 方法中读取 HTTP Cookie:

@ApiMethod(httpMethod = "get")
public void getAll(HttpServletRequest req) {

    log.info("req: " + req);

    Cookie[] cookies = req.getCookies();
    for (Cookie cookie : cookies) {
        log.info("cookie: " + cookie.getName() + " " + cookie.getValue());
    }


}

但无论我尝试什么,cookie 都是 NULL。有任何想法吗?它应该以这种方式工作:http ://chirashi.zenconsult.net/2013/07/custom-authentication-with-google-cloud-endpoints-using-app-engine-java

4

2 回答 2

2

像这样的东西似乎对我有用。我已经在 App Engine 上对其进行了测试。

@Api(name = "api_name", version = "v1", description = "An API", auth = @ApiAuth(allowCookieAuth = AnnotationBoolean.TRUE))
于 2014-05-06T22:55:49.897 回答
1

它似乎不适用于 Java。这里有一个错误: https ://code.google.com/p/googleappengine/issues/detail?id=10100

在 Python 中,默认情况下不会传递 cookie,但有一种方法可以启用它们。我认为这个注释是为了在 Java 中做同样的事情,但似乎没有做任何事情:

@ApiAuth(allowCookieAuth = AnnotationBoolean.TRUE) 
于 2014-02-17T23:20:44.403 回答