小编kik*_*wie的帖子

无法使用 Express Session/Passport 和 REACT 设置 cookie

我无法理解如何从后端在 REACT 中设置 cookie(连接 sid)。

我有护照本地策略

这是我的 server.js

app.use(cookieParser());
app.use(session({
  resave: true,
  saveUninitialized: false,
  secret: 'bla bla bla',
  cookie: { httpOnly: false }
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
Run Code Online (Sandbox Code Playgroud)

这是我的 route.js

app.post('/login', (req, res, next) => {
    passport.authenticate('local-login', (err, user, info) => {
        if (err) { return res.send(err); }
        if (!user) { return res.send(info); }
        req.logIn(user,(err) => {
            if (err) { return next(err); }
            return res.send({status: true, user});
        });
    })(req, res, next);
});

app.post('/test', isLoggedIn, (req, res) => {
    res.send('Logged …
Run Code Online (Sandbox Code Playgroud)

express-session

6
推荐指数
0
解决办法
428
查看次数

Jest :测试类型或空值

我有一个测试,我想测试我收到的对象值类型是否与模式匹配。问题是对于某些键,我可能会收到一些东西或 null

到目前为止我试过这个

  const attendeeSchema = {
  birthDate: expect.extend(toBeTypeOrNull("Date")),
  contact: expect.extend(toBeTypeOrNull(String)),
  createdAt: expect.any(Date),
  firstName: expect.any(String),
  id: expect.any(Number),
  idDevice: expect.extend(toBeTypeOrNull(Number)),
  information: expect.extend(toBeTypeOrNull(String)),
  lastName: expect.any(String),
  macAddress: expect.extend(toBeTypeOrNull(String)),
  updatedAt: expect.any(Date),
  // state: toBeTypeOrNull()
};

    const toBeTypeOrNull = (received, argument) => {
  const pass = expect(received).toEqual(expect.any(argument));
  if (pass || received === null) {
    return {
      message: () => `Ok`,
      pass: true
    };
  } else {
    return {
      message: () => `expected ${received} to be ${argument} type or null`,
      pass: false
    };
  }
};
Run Code Online (Sandbox Code Playgroud)

在我的测试中 …

javascript node.js jestjs

4
推荐指数
4
解决办法
2万
查看次数

标签 统计

express-session ×1

javascript ×1

jestjs ×1

node.js ×1