【发布时间】:2014-03-18 12:34:48
【问题描述】:
我遇到了两种可能性,我更喜欢在完全建立 websocket 之前执行检查的解决方案。
var express = require("express.io");
var app = express().http().io();
app.use(express.json());
app.use(express.cookieParser());
app.use(express.session({secret: process.env.COOKIESECRET}));
选项 1:如何获取 Express 会话对象?
更新:这可能不可行,因为 Express.io 注册了自己的“授权”功能,这使得 Express 会话可用于 Socket.io。
app.io.configure(function() {
app.io.set("authorize", function(handshake, authorize) {
// Cookie is available...?
//handshake.headers.cookie
});
});
选项 2:容易获得 Express 会话,但已建立连接。
app.io.route("test", function(req) {
if(!req.session.IsAuthorized) {
req.io.disconnect();
}
});
【问题讨论】:
标签: javascript node.js session express.io