Node.js Express/Passport未为supertest代理设置cookie

Node.js Express/Passport未为supertest代理设置cookie,node.js,express,testing,cookies,supertest,Node.js,Express,Testing,Cookies,Supertest,我正在尝试使用supertest和mocha对我的Express服务器进行一些集成测试。用户通过Passport LocalStrategy进行身份验证,我正在使用cookie会话设置会话cookie。在浏览器和邮递员中都可以正常工作。但是,我无法使它与supertest结合使用:Express response在注册/登录路由上不包含cookie,因此我无法发出任何经过身份验证的请求 在Express服务器上,cors中间件已经就位,cookie是sameSite和httpOnly。你知道哪里

我正在尝试使用supertest和mocha对我的Express服务器进行一些集成测试。用户通过Passport LocalStrategy进行身份验证,我正在使用cookie会话设置会话cookie。在浏览器和邮递员中都可以正常工作。但是,我无法使它与supertest结合使用:Express response在注册/登录路由上不包含cookie,因此我无法发出任何经过身份验证的请求


在Express服务器上,
cors
中间件已经就位,cookie是
sameSite
httpOnly
。你知道哪里不对吗

我遇到了一个非常类似的问题。经过一些尝试和错误,我发现“安全”cookie标志是问题所在。 我对“快速会话”使用了以下配置

const session = require('express-session');
app.use(session({
    secret: envVars.SESSION_SECRET,
    name: 'app-name',
    resave: false,
    saveUninitialized: false,
    cookie: { 
      path: '/', 
      secure : true, 
      maxAge : null, 
      sameSite: 'none' 
    } 
}));
从Cookie中删除安全标志修复了该问题

const session = require('express-session');
app.use(session({
    secret: envVars.SESSION_SECRET,
    name: 'app-name',
    resave: false,
    saveUninitialized: false,
    cookie: { 
      path: '/', 
      // secure : true, 
      maxAge : null, 
      sameSite: 'none' 
    } 
}));

我遇到了一个非常类似的问题。经过一些尝试和错误,我发现“安全”cookie标志是问题所在。 我对“快速会话”使用了以下配置

const session = require('express-session');
app.use(session({
    secret: envVars.SESSION_SECRET,
    name: 'app-name',
    resave: false,
    saveUninitialized: false,
    cookie: { 
      path: '/', 
      secure : true, 
      maxAge : null, 
      sameSite: 'none' 
    } 
}));
从Cookie中删除安全标志修复了该问题

const session = require('express-session');
app.use(session({
    secret: envVars.SESSION_SECRET,
    name: 'app-name',
    resave: false,
    saveUninitialized: false,
    cookie: { 
      path: '/', 
      // secure : true, 
      maxAge : null, 
      sameSite: 'none' 
    } 
}));