Сессия не сохраняется с помощью экспресс-сессии - PullRequest
0 голосов
/ 25 сентября 2019

Еще один вопрос о том, что сеанс не существует ....

Я использую экспресс-контроллеры и контроллеры маршрутизации для настройки моих маршрутов.

У меня есть одно промежуточное ПО сеанса:

@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 корректно устанавливается и отправляется во втором запросе,Чего мне не хватает?

...