Я пытаюсь создать приложение чата с 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"));
}
})