ReactJS sent GET request, responded with 302 redirect, received CORS error

拥有回忆 提交于 2021-01-28 09:42:47

问题


This is my stack:

  1. Frontend server: Node + ReactJS (f.com)
  2. Backend server (API): Golang (b.com)

I'm doing this in development environment where I use create-react-app to run my frontend server via npm start command. I want to perform authentication using SSO served at sso.example.com/login. Ideally whenever there's a request to the Backend server without proper authorization, it will be responded with HTTP 302 Redirect to the SSO page. So the sequence is:

  1. ReactJS sends GET request to b.com/users
  2. Golang responded with http.Redirect("sso.example.com/login")
  3. ReactJS app gets CORS error from sso.example.com of which I don't have control of adding Access-Control-Allow-Origin:* respond header

How can I redirect my GET request successfully?


回答1:


In your case, it would be easier to do the redirection in browser on the client side, so you won't have CORS issues (because you are accessing it from the SSO website url directly).

You can either do it with react, which is complicated: Programmatically navigate using react router V4

Or do it with window with plain JavaScript, which is easy but might cause problems with browsing history:

window.location.href = "https://www.example.com";

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



来源:https://stackoverflow.com/questions/46514522/reactjs-sent-get-request-responded-with-302-redirect-received-cors-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!