如何从不同的 front-end 应用程序将 Web Api 的 cookie 发回给它

How can I send cookies of a Web Api back to it from a different front-end application

我有一个仅提供静态内容的 Web 应用程序 - HTML、CSS 和 JavaScript。我有另一个应用程序,它是一个 ASP.NET Web API。这两个应用程序都在不同端口的同一台机器上(出于测试目的,它们可能在生产环境中的不同机器或域上)。当我浏览 Web 应用程序时,它会在第一次从 Web API 调用 ajax 时获取 cookie 以及 Anti CSRF 的表单令牌。因此,我使用 XMLHttpRequestsetRequestHeader 函数将 body 标记设置为 header。似乎不需要设置 cookie 令牌,因为出于安全原因,cookie 受到 HttpOnly 属性的限制,据我所知,浏览器负责将 cookie 发送到任何一个cookie 所属的域。

但是,当我进行连续的 ajax 调用时,服务器不会将这两个令牌都传递回服务器,而只会接收 header 令牌。

目前 Web API 为 Web 应用程序设置了 CORS 限制。但是如果这个问题是和cross origin有关那么我猜,headers也不能通过,如果我弄错了请指正我。

谁能帮我解决这个问题?我只是希望能够在不影响安全性的情况下将 cookie 从一个应用程序发送到另一个应用程序。

看看Cookies With My CORS and