如何将身份验证数据从io.use传递到下一个中​​间件步骤

时间:2018-11-08 23:02:22

标签: socket.io

我使用io.use来验证身份验证令牌。 有没有一种安全的方法可以将解密的令牌向下传递到链 这些数据可用于其他中间件步骤。

io.use((socket, next) => {

    let parsed_cookies = cookie.parse(socket.request.headers.cookie)
    let jwt = parsed_cookies.my_jwt_authentication_data

    jwt_module.verify(jwt, "secret....", function (err, user_info) {

        if (err) {
            return next(new Error("jwt is not valid"))
        }

        if (user_info.company_role_enum == "Admin") {
            // this works, but feels unsafe
            socket.my_data_user_info = user_info
            return next()          
        }

    })
})

io.on('connection', function (socket) {
    // works but feels unsafe
    console.log(socket.my_data_user_info)

有没有一种安全的方法可以从中间件向下游传递数据?

0 个答案:

没有答案