当Node.js服务器不在本地主机上时未设置Cookie

时间:2020-07-15 17:03:42

标签: node.js reactjs axios

我有一个ReactJS前端和一个NodeJS后端。前端从NodeJS调用登录API,它返回带有JWT令牌的cookie,该cookie将用于其他调用。我已经对其进行了测试,并且当前端和后端都在localhost上运行时,它可以工作。

我使用过邮递员,并调用了相同的API。一台在localhost上运行,另一台在AWS EC2上运行。两者都返回相同的响应,但是,在EC2上运行的响应未设置cookie。 set-cookie标头同时存在。

我包括了cors配置。

var corsOptions = {
  origin: ['http://localhost:3001'],
  credentials: true
}
app.use(cors(corsOptions));

发现问题:

事实证明,Safari浏览器阻止了cookie。 iOS上的Chrome也受其影响。关闭野生动物园偏好设置的“防止跨站点跟踪”选项可以解决该问题

1 个答案:

答案 0 :(得分:1)

尝试使用完整链接向API发送请求

axios.post('https://mysite/api/v1/login', {email,password,...})