首页 > 解决方案 > 在前端设置 cookie ( angular )

问题描述

我有一个像这样的锚元素

<a class="head-buttons" href="https://clearsession.bkoo.org">Sign Out</a>

在我的标题元素中,我正在设置这样的cookie

ngOnInit() {
    document.cookie = "redirect=https://testqa.bkoo.org"
    document.cookie = "path=/";
    document.cookie = "domain=bkoo.org";
    document.cookie = "max-age=-1";
}

我想要实现的是将 cookie 发送到https://clearsession.bkoo.org,服务器将读取 cookie 中的重定向键并重定向到该 URL。但是,当我在 chrome 检查中检查 cookie 时, domain=bkoo.org 被设置为键值,而不是“域”。“域”设置为应用程序的 URL,即 testqa.bkoo.org,而不是 bkoo.org。有没有办法在前端做到这一点?如果我从 Chrome 检查器编辑我的域,clearsession.bkoo.org 会接受来自 cookie 的重定向键,并正确重定向到该 URL。

在我的旧应用程序中,后端的 Java 控制器发送带有“Set-Cookie:”属性的响应标头,但我们正在摆脱 JSP shell

标签: angularcookiessubdomainsession-cookies

解决方案


尝试这个

domain 可选 可以读取 cookie 的域。例如,“example.com”、“.example.com”(包括所有子域)或“subdomain.example.com”;如果未指定,则默认为当前文档位置的主机部分(字符串或 null)。

参考https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie/Simple_document.cookie_framework

在域上创建 JavaScript cookie 并跨子域读取它


推荐阅读