我有两台正在运行的 VERCEL 服务器。第一个用于服务器,第二个用于客户端。
服务器正在运行 NODE ->express ->express-sessions。
客户端正在使用 fetch api 运行 Svelte。
我的服务器正在正确设置 cookie 并发送它们,但我的浏览器没有保存 cookie。
我的 vercel.json 是:
{
"src": "/api/login",
"dest": "/api/index.js",
"headers": {
"Access-Control-Allow-Origin": "{mydomain}",
"Access-Control-Allow-Methods": "GET,OPTIONS,PATCH,DELETE,POST,PUT",
"Access-Control-Allow-Headers": "X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version",
"Access-Control-Allow-Credentials": "true"
},
"continue": true
},
Run Code Online (Sandbox Code Playgroud)
快递应用程序是:
app.set('trust proxy', 1);
app.use(cookieParser("secretcode"));
app.use(session({
secret: "secretcode",
resave: true,
saveUninitialized: true,
cookie: {
maxAge: 60000 * 10,
secure: true
},
store: new MongoStore({ mongooseConnection: mongoose.connection })
}))
app.use(passport.initialize());
app.use(passport.session());
Run Code Online (Sandbox Code Playgroud)
登录端点是:
const login = …Run Code Online (Sandbox Code Playgroud)