【问题标题】:how to use both express.io and passport.socketio authentication features globally如何在全局范围内同时使用 express.io 和 passport.socketio 身份验证功能
【发布时间】:2014-02-25 15:02:36
【问题描述】:

socket.io 支持没有中间件功能的单一全局授权方法。 express.io 和 passport.socketio 都依赖此功能作为其逻辑的注入点。

express.io 将 express 会话附加到请求,passport.socketio 附加膨胀的用户对象。如何优雅地结合这两个功能?

【问题讨论】:

    标签: express socket.io passport.js express.io passport.socketio


    【解决方案1】:

    我找到的唯一方法是从 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));
        });
    

    这对我有用,但它与“授权”注册的顺序相结合。有更好的想法吗?

    【讨论】:

    • 此方法还有不必要的调用会话存储两次的不良影响。
    猜你喜欢
    • 2016-11-11
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-09-29
    • 2022-11-11
    • 2011-03-22
    • 2011-07-16
    相关资源
    最近更新 更多