MERN 项目 | Heroku 不设置客户端 cookie
MERN project | Heroku doesn't set client-side cookie
我的 MERN 项目在我的本地运行良好,但是当我部署它时,我在获取用户时遇到 401 错误。 Heroku 不设置客户端 cookie。然后我先在 google 上搜索,我将我的 cookie-session 更改为 express-session 和一些其他配置,但它在 Heroku 上仍然不起作用。
https://github.com/olcaykaplan/passport_google
科尔斯:
app.use(
cors({
origin: "http://localhost:3000",
credentials: true,
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
allowedHeaders: ['Content-Type', 'Authorization']
})
);
快车:
app.use(
express.session({
secret: "secret",
resave: false,
saveUninitialized: true,
store: sessionStore,
proxy: true,
cookie: {
httpOnly:true,
secure: true,
maxAge: oneDay,
},
})
);
如果您的客户端在本地工作,
将安全值更改为 false,删除代理和 sameSite
该项目使用以下 cors 和会话信息运行良好
app.use(
cors({
origin: "netlify url",
credentials: true,
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
allowedHeaders: ['Content-Type', 'Authorization']
})
);
const oneDay = 1000 * 60 * 60 * 24; // Equals 1 day (1 day * 24 hr/1 day * 60 min/1 hr * 60 sec/1 min * 1000 ms / 1 sec)
app.use(cookieParser("secret"));
app.use(
express.session({
secret: "secret",
resave: false,
saveUninitialized: true,
store: sessionStore,
proxy: true,
cookie: {
sameSite:"none",
//path: "/",
httpOnly:true,
secure: true,
maxAge: oneDay,
},
})
);
我的 MERN 项目在我的本地运行良好,但是当我部署它时,我在获取用户时遇到 401 错误。 Heroku 不设置客户端 cookie。然后我先在 google 上搜索,我将我的 cookie-session 更改为 express-session 和一些其他配置,但它在 Heroku 上仍然不起作用。 https://github.com/olcaykaplan/passport_google
科尔斯:
app.use(
cors({
origin: "http://localhost:3000",
credentials: true,
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
allowedHeaders: ['Content-Type', 'Authorization']
})
);
快车:
app.use(
express.session({
secret: "secret",
resave: false,
saveUninitialized: true,
store: sessionStore,
proxy: true,
cookie: {
httpOnly:true,
secure: true,
maxAge: oneDay,
},
})
);
如果您的客户端在本地工作, 将安全值更改为 false,删除代理和 sameSite
该项目使用以下 cors 和会话信息运行良好
app.use(
cors({
origin: "netlify url",
credentials: true,
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
allowedHeaders: ['Content-Type', 'Authorization']
})
);
const oneDay = 1000 * 60 * 60 * 24; // Equals 1 day (1 day * 24 hr/1 day * 60 min/1 hr * 60 sec/1 min * 1000 ms / 1 sec)
app.use(cookieParser("secret"));
app.use(
express.session({
secret: "secret",
resave: false,
saveUninitialized: true,
store: sessionStore,
proxy: true,
cookie: {
sameSite:"none",
//path: "/",
httpOnly:true,
secure: true,
maxAge: oneDay,
},
})
);