从另一个域的服务器读取 Cookie

Reading cookies from server from another domain

本文关键字:读取 Cookie 服务器 另一个      更新时间:2023-09-26

我在AngularJS中有一个UI,在Java中调用REST Webservice。两者都部署在不同的域上。Web服务和AngularJS都启用了CORS。

Web 服务返回一个 cookie 作为 REST 请求的一部分。Cookie 中包含网络服务域。

在我的 AngularJS 应用程序中,我将向服务器发出该 REST 请求,然后必须读取作为响应返回的 cookie。

如何读取从该网络服务返回的 Cookie?我已阅读我无法访问来自不同域的cookie。我还没有完全理解这实际上是如何工作的。

另一个问题是,如果我无法读取cookie,那么我可以从AngularJS应用程序中为该域设置cookie并将其发送到Web服务吗?

您无法通过 JS 从另一个域访问 Cookie,并且可能根本无法从 JS 访问它们,具体取决于 Cookie 的属性。这一切都由浏览器强制执行。

如果您使用的是托管在另一个域上的 API,则可以考虑使用令牌和本地存储,然后在进行调用时使用 HttpInterceptor 将安全令牌添加到标头中。

如果您的安全基础架构取决于您拥有cookie,那么您将不得不使用某种可以在两个域上交换cookie的共享令牌。