【问题标题】:passport session with websocket server library与 websocket 服务器库的护照会话
【发布时间】:2018-07-26 20:10:41
【问题描述】:

护照会话是否可以与网络套接字库(https://github.com/websockets/ws)一起使用?我们有一个常规的护照身份验证设置:但 req.session.user 有时会在 websocket 请求中正确显示,有时则不会。

我们正在像这样初始化 websocket:

this.wss = new WebSocketServer({
  server: this.server, // This is the express app
  verifyClient: function(info, done) {
    self.session_parser(info.req, {}, function() {
      console.log('VERIFY ', info.req.session);
      // allow connection only if session is valid and a user is logged in
      done(info.req.session && info.req.session.passport &&
        info.req.session.passport.user &&
        info.req.session.passport.user.id);
    });
  }
});

问题在于 info.req.session.user 正确显示某些 Web 套接字请求,有时它不会在 verifyClient 函数中。 req.session 总是正确显示。

【问题讨论】:

    标签: node.js websocket passport.js


    【解决方案1】:

    它在开发环境中?

    如果您使用memorystore 会话,它会在应用重新加载后清理。你可以切换到session-file-store,但它通常不会存储在res.redirect()

    在其他情况下,您必须检查服务器上的会话是否过期。

    【讨论】:

      猜你喜欢
      • 2013-03-09
      • 2019-06-23
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      相关资源
      最近更新 更多