【问题标题】:What is the right cookie format for subdomains cookies子域 cookie 的正确 cookie 格式是什么
【发布时间】:2014-12-21 15:42:13
【问题描述】:

我正在开发一个应用程序,其中有许多子域,例如 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 的正确格式是什么?

【问题讨论】:

  • 能否详细说明“不包含玩家Cookie,从Set返回”?你是什​​么意思?如何检查 cookie 是否已发送?
  • 通过在 firebug 中查看请求,它们中没有播放器 Cookie。

标签: java http cookies browser


【解决方案1】:

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

添加

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

解决了问题。

【讨论】:

    猜你喜欢
    • 2013-05-21
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2018-11-30
    • 2020-07-04
    • 2011-03-12
    • 2015-12-22
    • 2012-10-03
    相关资源
    最近更新 更多