Socket.io считает JWT предыдущего соединения - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь создать приложение чата с socket.io, в котором для аутентификации используется jwt. При каждом подключении проверяется jwt, но как только я вхожу в систему с одного устройства, затем подключаюсь с помощью jwt, а затем выхожу и снова подписываюв качестве другого пользователя socket.io использует jwt предыдущего пользователя.

Этот код используется для аутентификации пользователя, если у пользователя есть действительный jwt, тогда соединение предоставляется, иначе оно отклоняется

io.use(function(socket, next){

    if(socket.handshake.query && socket.handshake.query.token){
        console.log(socket.handshake.query.token);
        const token = socket.handshake.query.token.split(" ");
        const actualToken = token[1];
        console.log(actualToken);
        jwt.verify(actualToken,config.secret,function(err,decoded){
            if(err) return next(new Error("Authentication error"));
            socket.user = decoded.user;
            next();
        });
    }
    else{
        next(new Error("Authentication error"));
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...