res.cookie 与 Cors NodeJS(无 HTTP 正常状态)

问题描述 投票:0回答:1

所以我正在制作一个电子商务 React 应用程序,我将其部署在 vercel 上进行测试并在我的简历中展示它。但是,我无法让受保护的路线正常工作。我的公共路线正在工作并顺利获取项目,但我对 /api/auth/login 的发布请求被 cors 阻止

/login:1 从源“https://react-js-e-commerce”访问“https://react-js-e-commerce-store-server.vercel.app/api/auth/login”处的 XMLHttpRequest -store-client.vercel.app' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。

const loginUser = async (req, res) => {
  try {
    const { email, password } = req.body;
    console.log(email,password)
    const user = await User.findOne({ email });
    if (!user || !(await bcrypt.compare(password, user.password))) {
      return res.status(401).send('Invalid email or password!');
    }
    const userInfo = {userID: user.userID, role: user.role}
    const token = generateJWT(userInfo);
    const refreshToken = generateRefreshToken(userInfo);
    user.refreshToken = refreshToken;
    await user.save();
    res.cookie('refreshToken', refreshToken, {
      maxAge: 1000 * 60 * 60 * 24 * 3, // expires in 3 days
      secure: true, // Ensures the cookie is sent over HTTPS only
      httpOnly: false, // Prevents client-side JS from accessing the cookie
      sameSite: 'none' // Allows cross-site cookie sharing
    });
    return res.status(201).send({message:"Loggedin Successfuly", user:userInfo, token:token});
  } catch (error) {
    console.log(error)
    return res.status(500).send('Error logging in user!');
  }
};

更改了 res.cookie 的属性,但这仍然不起作用。

{
  "src": "/api/(.*)",
    "headers":{
      "Access-Control-Allow-Origin": "https://react-js-e-commerce-store-client.vercel.app",
      "Access-Control-Allow-Credentials": "true"
    },
  "dest": "/auth.routes.js"
},

将这些标题行添加到 vercel.json,错误更改为 no HTTP ok 状态。 ??

登录:1 从源“https://react-js-e-commerce-”访问“https://react-js-e-commerce-store-server.vercel.app/api/auth/login”处的 XMLHttpRequest store-client.vercel.app' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP 正常状态。

reactjs cors vercel
1个回答
0
投票

已修复: 问题是由于 vercel 造成的。在 aws-eleasticbeanstalk 上托管服务器,一切顺利。

© www.soinside.com 2019 - 2024. All rights reserved.