【问题标题】:Save data in express-session在快速会话中保存数据
【发布时间】:2019-03-14 01:47:44
【问题描述】:

我想在快速会话登录后保存我的令牌。我的要求是:

app.prepare().then(() => {
  express()
    .use(session({
        secret: 'this-is-a-secret-token',
        resave: false,
        saveUninitialized: true,
        cookie: { maxAge: 60000 }
      }))
    .get(server.login_check, async (req, res) => {
      console.log(req.session.token);
      console.log('------------');

      if (!req.session.token) {
        try {
          const request = await loginThroughApi();

          if (request) {
            console.log(request);
            req.session.token = request.token;
            return request.token;
          }
        } catch (error) {
          console.log('Error:', error);
        }
      } else {
        console.log(req.session.token);
      }
    })

req.session.token 总是未定义,我不太明白为什么^^

【问题讨论】:

    标签: node.js express session


    【解决方案1】:

    我不确定你是如何在共享代码之前初始化的,但我认为你应该这样做 app.use(session(...)) 而不是 express.use(session(...))。同样,这取决于您如何设置此变量。也许你可以按照初始化指南here

    【讨论】:

      【解决方案2】:

      你需要这样的电话

      req.session.token = request.token;
      req.session.save();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-04-07
        • 1970-01-01
        • 2017-11-26
        • 2020-10-20
        • 2019-01-24
        • 2016-11-15
        • 2022-08-21
        相关资源
        最近更新 更多