Еще один вопрос о том, что сеанс не существует ....
Я использую экспресс-контроллеры и контроллеры маршрутизации для настройки моих маршрутов.
У меня есть одно промежуточное ПО сеанса:
@Middleware({ type: 'before' })
export class SessionMiddleware implements ExpressMiddlewareInterface {
public use(req: express.Request, res: express.Response, next: express.NextFunction): any {
var session = require('express-session');
var sess = {
name:'some_session',
secret: 'lalala',
resave: true,
saveUninitialized: true
}
return session(sess)(req, res, next);
}
}
У меня есть один контроллер для маршрута /api/onboarding
@Get()
public async createGet(@Res() res: any, @Req() req: any) : Promise<Response> {
console.log("Session in: " + req.session.id +" "+ JSON.stringify(req.session.userId));
req.session.userId = 'userID';
console.log("Session out: "+ req.session.id +" " + JSON.stringify(req.session.userId));
return res.send(req.session.userId);
}
Файл cookie отправляется в ответе:
Первый вызов Get http://localhost/api/onboarding сПочтальон
Session in: EQQoZ9oC6Y68OcI9xqvQ7bCTEMFb8T1Q undefined
Session out: EQQoZ9oC6Y68OcI9xqvQ7bCTEMFb8T1Q "userID"
Почтальон получает печенье.
Второй вызов Get http://localhost/api/onboarding с Почтальоном и печеньем.
Session in: 6iZFSdFvlpP4r1Pj7m3Q2j0GKGenSHNZ undefined
Session out: 6iZFSdFvlpP4r1Pj7m3Q2j0GKGenSHNZ "userID"
Я ожидаю увидеть "userID "на Session in, но похоже, что express генерирует новый сеанс и некорректно читает отправленный cookie.
Я вижу, что в Postman cookie корректно устанавливается и отправляется во втором запросе,Чего мне не хватает?