如何在passport-google-oauth回调中设置cookie?

问题描述 投票:0回答:1

当 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>");
};
node.js express next.js passport.js passport-google-oauth
1个回答
0
投票
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(“”); };`7123 #{安达林:角度+ 7123(Theptikone_douangphoumy)= 24 * 60 * 60 * 1000,* 7123

© www.soinside.com 2019 - 2024. All rights reserved.