+14
-7
@@ -18,15 +18,22 @@ export const serverStart = (port) => {
|
||||
});
|
||||
|
||||
server.io.use(async (socket, next) => {
|
||||
const token = socket.handshake.auth.token;
|
||||
let token = socket.handshake.auth.token;
|
||||
|
||||
if (!token) {
|
||||
return next(new Error("Authentication error: No token provided"));
|
||||
}
|
||||
|
||||
if (!token.startsWith("Bearer ")) {
|
||||
token = "Bearer " + token;
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await axios.get(`${API_URL}/users/me`, {
|
||||
headers: { Authorization: token },
|
||||
headers: {
|
||||
Authorization: token,
|
||||
Accept: "application/json"
|
||||
},
|
||||
});
|
||||
|
||||
const user = response.data.data || response.data;
|
||||
@@ -35,7 +42,10 @@ export const serverStart = (port) => {
|
||||
return next(new Error("Authentication error: User data not found"));
|
||||
}
|
||||
|
||||
addUser(socket.id, user);
|
||||
socket.user = user;
|
||||
socket.handshake.auth.token = token;
|
||||
|
||||
addUser(socket.id, user);
|
||||
|
||||
next();
|
||||
} catch (error) {
|
||||
@@ -53,15 +63,12 @@ export const serverStart = (port) => {
|
||||
});
|
||||
|
||||
server.io.on("connection", (socket) => {
|
||||
console.log("New connection:", socket.id);
|
||||
|
||||
gameEvents(server.io, socket);
|
||||
|
||||
handleConnectionEvents(server.io, socket);
|
||||
|
||||
socket.on("disconnect", () => {
|
||||
removeUser(socket.id);
|
||||
console.log("Disconnected:", socket.id);
|
||||
});
|
||||
});
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user