【问题标题】:Setting a cookie on the front end ( angular )在前端设置 cookie ( angular )
【发布时间】:2019-07-30 18:16:10
【问题描述】:

我有一个像这样的锚元素

<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";
}

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

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

【问题讨论】:

  • 我认为这与 Angular 无关。这更像是一个 javascript 问题和安全问题。如果您希望 cookie 模拟您的服务器针对正确域的合同,那么您可能需要在您托管应用程序的一端使用代理。所以foo.com = 本地主机。类似的东西

标签: angular cookies subdomain session-cookies


【解决方案1】:

试试这个

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

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

Creating a JavaScript cookie on a domain and reading it across sub domains

【讨论】:

    猜你喜欢
    • 2020-10-21
    • 1970-01-01
    • 2019-09-22
    • 2020-08-20
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多