Búsqueda de sitios web

node.js - ¿Cómo puedo escribir y leer datos personalizados de express-session usando TypeScript?


Estoy intentando insertar mis datos (como login o ID) en una sesión. Pero cuando escribo req.session.login, TypeScript devuelve el error: "Object is possibly 'undefined'." He intentado de todo y he buscado la respuesta en Google, pero no encontré nada.

Aquí está mi 'src/app.ts' incluido en el archivo de inicio sencillo 'bin/www.js'.

import * as express from "express";
import * as session from 'express-session';
import * as cookieParser from "cookie-parser";

let app:express.Application = express();

app.use(cookieParser("sssh!"));
app.use(session({
    secret: 'sssssh! That\'s the secret',
    name: 'session',
    resave: false,
    saveUninitialized: true,
    cookie: {
      path: '*',
      maxAge: 60 * 60 * 1000,
      expires: new Date(Date.now() + (3 * 60 * 60 * 1000))
    }
}));
app.use("/test", (req:express.Request, res:express.Response, next:express.NextFunction)=>{
      let ses = req.session;
      // Here I want to do something similar to cookies, 
      //like req.session.login = "login" or ses.login = "login"
      res.cookie('name', "lastname");
      console.log(req.cookies);
      res.send(req.session);
});

Si no me equivoco, esta declaración (req.session.login="login") debería funcionar en un archivo de JavaScript normal. Estoy seguro de que he pasado por alto algo importante aquí.