小编sea*_*n_x的帖子

将 SameSite 属性添加到 Passport.js 会话 Cookie

我正在使用 Passport.js 和 OAuth2Strategy 策略对 OIDC 服务进行身份验证。应用程序向需要 Passport 设置的 connect.sid cookie 的服务发出一些跨域请求。Chrome 承诺停止支持这些请求,除非 cookie 的 SameSite 属性设置为“Lax”。

我不确定如何做到这一点,因为 cookie 的设置是 Passport 的内部设置。有什么建议?下面是位于 OIDC 服务的回调路由中的相关函数调用。

  passport.authenticate("oauth2", function (err, user, info) {
    if (err) {
      req.flash('error', err);
      res.redirect('/login_error/');
    }
    else if (!user) {
      req.flash('error', 'Unable to locate user account.');
      res.redirect('/login_error/');
    }
    else {
      req.logIn(user, (err) => {
        if (err) { return next(err); }
        return res.redirect('/user_profile/);
      });
    }
  })(req, res, next);
Run Code Online (Sandbox Code Playgroud)

javascript express passport.js

6
推荐指数
1
解决办法
1207
查看次数

标签 统计

express ×1

javascript ×1

passport.js ×1