axios 不检索 cookie

Mat*_*att 3 node.js cors reactjs

嘿,我遇到了一个问题,当我在本地运行服务器和应用程序时没有问题,但是当每个服务器和应用程序被推送到各自的服务器时,应用程序不会返回 cookie。有谁知道如何解决这个问题?

服务器:

app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Credentials', true);
  res.header(
    'Access-Control-Allow-Headers',
    'Origin, X-Requested-With, Content-Type, Accept'
  );
  next();
});
Run Code Online (Sandbox Code Playgroud)

反应:

const request = axios.post(`${url}/api/login`, {
      email,
      password,
      withCredentials: true,
      headers: { crossDomain: true, 'Content-Type': 'application/json' },
    })
    .then(response => response.data);
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 5

我想出了如何解决这个问题。我用了:

服务器:

app.use(
  cors({
    credentials: true,
    origin: 'http://myapp.com',
  })
);
Run Code Online (Sandbox Code Playgroud)

反应:

export function loginUser({ email, password }) {
  axios.defaults.withCredentials = true;
  const request = axios
    .post(`${url}/api/login`, {
      email,
      password,
      withCredentials: true,
      headers: { crossDomain: true, 'Content-Type': 'application/json' },
    })
    .then(response => response.data);

  return {
    type: 'USER_LOGIN',
    payload: request,
  };
}
Run Code Online (Sandbox Code Playgroud)