Node.js 表示在将应用部署到远程服务器时不发送cookie
我的express应用程序有问题。在我的笔记本电脑上的Node.js 表示在将应用部署到远程服务器时不发送cookie,node.js,reactjs,express,cookies,Node.js,Reactjs,Express,Cookies,我的express应用程序有问题。在我的笔记本电脑上的localhost上,身份验证工作正常,express会发回cookie,一切正常 但是现在我已经将该应用部署到VPM,它似乎已经停止工作。我没有收到发送回来的cookie,然后我点击了我的登录路径 我已经使用Postman在VPN上测试了后端,那里的cookie没有问题 server.js: const cors = require('cors'); const express = require('express'); const coo
localhost
上,身份验证工作正常,express会发回cookie,一切正常
但是现在我已经将该应用部署到VPM,它似乎已经停止工作。我没有收到发送回来的cookie,然后我点击了我的登录路径
我已经使用Postman在VPN上测试了后端,那里的cookie没有问题
server.js
:
const cors = require('cors');
const express = require('express');
const cookieParser = require('cookie-parser');
const app = express();
const PORT = 3000;
app.use(cors({ credentials: true, origin: 'http://localhost:3000' }));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(function(_, res, next) {
res.header(
"Access-Control-Allow-Headers",
"x-access-token, Origin, Content-Type, Accept"
);
next();
});
require('./app/routes/onboard-routes')(app);
以下是我如何在后端的响应中设置cookie:
const token = newToken(user.id);
res.cookie('token', token, {
httpOnly: true,
maxAge: config.cookieExpire
});
其中:
const jwt = require('jsonwebtoken');
const newToken = userId => {
return jwt.sign(
{ userId: userId },
config.secret,
{ expiresIn: config.expire}
);
};
在我的react应用程序中,我使用fetch
api调用后端,并在选项中添加了凭据:“include”
。我没有拿回任何代币
我已经打印了回复中的标题:
Name: content-length, Value:1019
Name: content-type, Value:application/json; charset=utf-8
你知道这里出了什么问题吗?你已经解决这个问题了吗?我也遇到同样的问题。