我正在使用 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)