ReactJS 发送 GET 请求,响应 302 重定向,收到 CORS 错误

yon*_*hen 7 go node.js cors http-status-code-302 reactjs

这是我的堆栈:

  1. 前端服务器:Node + ReactJS ( f.com)
  2. 后端服务器(API):Golang ( b.com)

我在开发环境中执行此操作,我使用create-react-app通过命令运行我的前端服务器npm start。我想使用 处提供的 SSO 执行身份验证sso.example.com/login。理想情况下,只要在未经适当授权的情况下向后端服务器发出请求,就会通过 HTTP 302 重定向到 SSO 页面进行响应。所以顺序是:

  1. ReactJS 发送 GET 请求到b.com/users
  2. Golang 用 http.Redirect(" sso.example.com/login")响应
  3. ReactJS 应用程序收到 CORS 错误sso.example.com,我无法控制添加Access-Control-Allow-Origin:*响应标头

如何成功重定向我的 GET 请求?

par*_*ite 4

在您的情况下,在客户端的浏览器中进行重定向会更容易,因此您不会遇到 CORS 问题(因为您直接从 SSO 网站 URL 访问它)。

您可以使用 React 来完成此操作,这很复杂:使用 React Router V4 以编程方式导航

或者使用纯 JavaScript 来完成此操作window,这很简单,但可能会导致浏览历史记录出现问题:

window.location.href = "https://www.example.com";
Run Code Online (Sandbox Code Playgroud)

https://appendto.com/2016/04/javascript-redirect-how-to-redirect-a-web-page-with-javascript/