上传到AWS EC2后,Cookies保存在Postman中,但不在浏览器(Next.js)中

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

过去两天我一直在尝试解决这个问题,但仍然没有成功。这里提供的答案都没有解决我关于浏览器响应中 cookie 的问题。

我有 Node.js (Express.js) 代码,它在我的本地计算机 localhost:8088 上运行良好。当用户登录时,我会在浏览器中收到 cookie。

但是,将我的代码上传到 AWS EC2 nginx 服务器后,我无法在浏览器中获取 cookie,尽管我能够在 Postman 中接收它们。有人可以帮我解决这个问题吗?

Express.js

const attachCookiesToResponse = ({ res, user, refreshToken }) => {
  const accessTokenJWT = createJWT({ payload: { user } })
  const refreshTokenJWT = createJWT({ payload: { user, refreshToken } })

  const oneDay = 24 * 60 * 60 * 1000
  const oneWeek = oneDay * 7

  res.cookie('accessToken', accessTokenJWT, {
    httpOnly: true,
    secure: process.env.NODE_ENV === 'production',
    signed: true,
    expires: new Date(Date.now() + oneDay)
  })

  res.cookie('refreshToken', refreshTokenJWT, {
    httpOnly: true,
    secure: process.env.NODE_ENV === 'production',
    signed: true,
    expires: new Date(Date.now() + oneWeek)
  })
}

Next.js

export const requestLogin = async (body: unknown) => {
  try {
    const response = await axios.post(apiEndpoint.login(), body, {
      withCredentials: true,
    });
    return response;
  } catch (error) {
    return error;
  }
};
node.js amazon-web-services google-chrome cors
1个回答
0
投票

获取SSL证书后问题解决。

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