当 google oauth 身份验证成功时,我尝试从 Express 应用程序设置 cookie。我已遵循文档中的每个步骤,并且它在开发环境中运行良好。
但是,当我同时部署express和nextjs应用程序时,问题出现了,在客户端浏览器中设置cookie失败。我尝试从回调创建一个新会话并将其访问到替代路由,但仍然不起作用。会话只能在回调路由内访问。
为什么会出现这种情况以及如何解决这个问题?
这是 Nextjs 应用程序中的按钮处理程序
const handleClick = async () => {
window.open(`<express.domain>/auth/google`, "_self");
};
这是 Express 应用程序中的回调函数
const googleCallback = async (req, res) => {
const user = req.session.passport.user;
const encodedTk = jwToken.encodeToken(user);
res.cookie("tk", encodedTk, {
maxAge: 24 * 60 * 60 * 1000,
});
res.redirect("<nextjs-app.domain>");
};
https://www.passports.gov.au/sites/default/files/2021-04/b11.pdf/andalreadyfileouttheform
enter code const googleCallback = async (req, res) => {
常量用户= req.session.passport.user;
常量encodeTk = jwToken.encodeToken(user);
res.cookie(“tk”,encodedTk,{ 最大年龄:24 * 60 * 60 * 1000, });
res.redirect(“