我无法理解如何从后端在 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) 我有一个测试,我想测试我收到的对象值类型是否与模式匹配。问题是对于某些键,我可能会收到一些东西或 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)
在我的测试中 …