socket.io支持单一的全局授权方法,没有中间件特性。express.io和passport.socketio都依赖于这个特性作为其逻辑的注入点。
express.io将express会话附加到请求,而passport.socketio附加膨胀的user对象。如何将这两个功能完美地结合起来?
发布于 2014-02-02 07:38:09
我找到的唯一方法是从socket.io获取express.io的授权回调,并将其连接为passport.Socketio的成功回调:
app.io.configure(function() {
var expressAuth = app.io.get('authorization');
var sessionConfig = {
...
success : expressAuth // callback on success
};
app.io.set('authorization', passportSocketIo.authorize(sessionConfig));
});这对我来说是可行的,但它与“授权”注册的顺序相结合。有更好的主意吗?
https://stackoverflow.com/questions/21505127
复制相似问题