[英]how do i set cookie for a different domain?
我正在運行 springboot,我試圖設置一個 cookie 並重定向一個頁面
origin: http://abc.example.com (generate a cookie)
destination: http://xyz.example.com (set the cookie for login)
@RequestMapping(value = "/getUrl",
method = RequestMethod.POST,
produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Object getRedirect(HttpServletRequest request,
HttpServletResponse response) {
String auth = generateKey();
addCookie("auth", auth, response, -1);
ResponseCode resp = new ResponseCode();
resp.setUrl("http://xyz.example.com");
return CommonUtil.toJson(resp);
}
public void addCookie(String name,
String value,
HttpServletResponse response, int exp) {
Cookie cookie = new Cookie(name, value);
cookie.setMaxAge(exp);
cookie.setPath("/");
response.addCookie(cookie);
}
和 HTML 一旦我收到請求,我將使用重定向
window.location.href=url;
但在xyz.example.com
我沒有看到正在設置 cookie。
如果您不指定域,它將僅適用於設置它的特定子域。
域指定允許的主機接收 cookie。 如果未指定,則默認為當前文檔位置的主機,不包括子域。 如果指定了域,則始終包含子域。
例如,如果設置了 Domain=mozilla.org,那么 cookies 將包含在 developer.mozilla.org 等子域中。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
因此,您可能需要指定一個“example.com”域,以使其在兩個子域上都可讀。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.