子域cookie的正确cookie格式是什么

时间:2014-10-26 08:02:08

标签: java http cookies browser

我正在开发一个应用程序,其中有许多子域,例如api。*。com,它负责REST请求处理。我正在尝试使用以下方法为子域设置cookie:

public class PlayerTokenUtils {

    final private static int DEFAULT_AGE = (int) TimeUnit.DAYS.toSeconds(7);

    private PlayerTokenUtils() {
        throw new IllegalAccessError();
    }

    public static PlayerToken updateResponse(String token, HttpServletResponse response) {
        Cookie cookie = new Cookie("player", token);
        cookie.setPath("/");
        cookie.setHttpOnly(true);
        cookie.setDomain(".mavarazy.com");
        cookie.setMaxAge(DEFAULT_AGE);
        response.addCookie(cookie);
        return token;
    }
}

我在Firebug中看到,一切正常,注册请求(http://api.mavarazy.com:3333/registration/base/signin)&回复包含:

Set-Cookie  player=rHIHtISWzw; Domain=.mavarazy.com; Expires=Sun, 02-Nov-2014 07:44:54 GMT; Path=/; HttpOnly

但是使用api.mavarazy.com对服务器的进一步请求不包含从Set返回的播放器Cookie。

我正在使用的测试环境:

我修改了我的/ etc / hosts

127.0.0.1       mavarazy.com
127.0.0.1       api.mavarazy.com

我的REST服务器正在运行Tomcat。

浏览器的所有REST请求都通过Node.js代理。

我做错了什么?在这种情况下,播放器Cookie的正确格式是什么?

1 个答案:

答案 0 :(得分:0)

我在Backbone应用程序中发现了jQuery配置的问题。

添加

$.ajaxSetup {
    ...
    xhrFields: {
        withCredentials: true
    }
    ...
}

解决了这个问题。