У меня возникают проблемы с сохранением промежуточного программного обеспечения express на express -openapi
В моем server.js
есть промежуточное программное обеспечение express, которое дает мне request.session
объект для редактирования / добавления значений (например, когда пользователь входит в систему, я устанавливаю request.session.isLoggedIn
в true
.
/ routers / Auth. js
router.post('/login', function(req, res, next){
req.session.isLoggedIn = true;
res.send("success");
});
export default router;
Я импортирую вышеупомянутый маршрутизатор на мой server.js
/ сервер. js
import authRouter from './routers/Auth.js';
import session from 'express-session';
server.use(
session({
secret: configs.sessionSecret,
key: "myWebsite",
cookie: {
path: "/",
httpOnly: true,
maxAge: 24 * 3600 * 1000 // One day for example
},
store: new RedisStore(),
resave: true,
saveUninitialized: false,
rolling: true
})
);
server.use(authRouter, '/');
С последующей инициализацией express -openapi
/ server . js
initialize({
apiDoc: {
...schema,
},
app: server,
docsPath: '/spec',
paths: path.resolve(__dirname, 'api'),
});
Схема - это просто мой файл openapi yaml
Теперь все пути внутри папки api
имеют только экземплярную копию req.session
(для знакомых с express -openapi), но если я сделаю HTTP-запрос к /login
, ни один из путей внутри папки api
не сможет получить доступ к req.session.isLoggedIn
, только путь, заданный express маршрутизатор может получить к нему доступ. Я не знаю, что я что-то упустил? Express -OpenAPI по какой-то причине не обновляет промежуточное программное обеспечение сеанса.