【问题标题】:Reading cookies from server from another domain从另一个域的服务器读取 cookie
【发布时间】:2015-01-06 00:42:53
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: javascript angularjs web-services rest cookies


    【解决方案1】:

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

    如果您使用托管在另一个域上的 API,那么您可以考虑使用using tokenslocal storage,然后在制作时使用HttpInterceptor 将安全令牌添加到您的标头中来电。

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

    【讨论】: