首页 > 解决方案 > 会话 cookie 不与 XHR 请求一起发送

问题描述

我的反应应用程序(来自域 react-app.com)加载在网站 beautiful-site.com 中,并且从反应应用程序发送的请求不会发送与其关联的会话 cookie。

我的解决方法是在服务器中添加了以下标头,并在发送的响应应用程序 XHR 请求中添加了withCredentials: true

Access-Control-Allow-Origin: https://beautiful-site.com
Access-Control-Allow-Credentials: true

问题是我可以在 中指定一个特定站点Access-Control-Allow-Origin,因为反应应用程序将被添加到许多站点而不是一个。

有什么方法可以从 React 应用程序发送会话 cookie?

标签: reactjsexpresscorsexpress-session

解决方案


答案是否定的,但您有解决方法:当您设置 withCredentials 时,您不能拥有Access-Control-Allow-Origin: *.

修复必须在服务器端完成:您的 API 服务必须在 中返回请求的域Access-Control-Allow-Origin,通常取自Origin标头。

请参阅请求的资源上不存在“Access-Control-Allow-Origin”标头 - 当尝试从 REST API 获取数据时如何修复“Access-Control-Allow-Origin 标头不能是通配符”问题小节) 了解技术细节。


推荐阅读