如何从不同的 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 的表单令牌。因此,我使用 XMLHttpRequest 的 setRequestHeader 函数将 body 标记设置为 header。似乎不需要设置 cookie 令牌,因为出于安全原因,cookie 受到 HttpOnly 属性的限制,据我所知,浏览器负责将 cookie 发送到任何一个cookie 所属的域。
但是,当我进行连续的 ajax 调用时,服务器不会将这两个令牌都传递回服务器,而只会接收 header 令牌。
目前 Web API 为 Web 应用程序设置了 CORS 限制。但是如果这个问题是和cross origin有关那么我猜,headers也不能通过,如果我弄错了请指正我。
谁能帮我解决这个问题?我只是希望能够在不影响安全性的情况下将 cookie 从一个应用程序发送到另一个应用程序。
看看Cookies With My CORS and
我有一个仅提供静态内容的 Web 应用程序 - HTML、CSS 和 JavaScript。我有另一个应用程序,它是一个 ASP.NET Web API。这两个应用程序都在不同端口的同一台机器上(出于测试目的,它们可能在生产环境中的不同机器或域上)。当我浏览 Web 应用程序时,它会在第一次从 Web API 调用 ajax 时获取 cookie 以及 Anti CSRF 的表单令牌。因此,我使用 XMLHttpRequest 的 setRequestHeader 函数将 body 标记设置为 header。似乎不需要设置 cookie 令牌,因为出于安全原因,cookie 受到 HttpOnly 属性的限制,据我所知,浏览器负责将 cookie 发送到任何一个cookie 所属的域。
但是,当我进行连续的 ajax 调用时,服务器不会将这两个令牌都传递回服务器,而只会接收 header 令牌。
目前 Web API 为 Web 应用程序设置了 CORS 限制。但是如果这个问题是和cross origin有关那么我猜,headers也不能通过,如果我弄错了请指正我。
谁能帮我解决这个问题?我只是希望能够在不影响安全性的情况下将 cookie 从一个应用程序发送到另一个应用程序。
看看Cookies With My CORS and