update auth logic

This commit is contained in:
SrGooglo 2023-02-24 14:44:39 +00:00
parent 5da2173505
commit 56aed5dd17

View File

@ -12,7 +12,7 @@ import routes from "./routes"
const mainAPI = axios.create({
baseURL: process.env.MAIN_API_URL ?? "http://localhost:3000",
headers: {
"server-token": process.env.SERVER_TOKEN,
"server_token": `${process.env.MAIN_SERVER_ID}:${process.env.MAIN_SERVER_TOKEN}`,
}
})
@ -57,13 +57,14 @@ class TextRoomServer {
initializeSocketIO = () => {
this.io.use(async (socket, next) => {
try {
const token = socket.handshake.auth.token
if (!token) {
return next(new Error(`auth:token_missing`))
}
const session = await mainAPI.post("/validate_session", {
const session = await mainAPI.post("/session/validate", {
session: token
})
.then((res) => {
@ -77,14 +78,17 @@ class TextRoomServer {
return next(new Error(`auth:token_invalid`))
}
const { data: userData } = await mainAPI.get("/user/public_data", {
params: {
username: session.username
}
}).catch((err) => {
const userData = await mainAPI.get(`/user/${session.user_id}/data`)
.then((res) => {
return res.data
})
.catch((err) => {
console.log(err)
return null
})
console.log(userData)
if (!userData) {
return next(new Error(`auth:user_failed`))
}
@ -104,6 +108,9 @@ class TextRoomServer {
console.log(`[${socket.id}] connected`)
next()
} catch (error) {
next(new Error(`auth:authentification_failed`))
}
})
this.io.on("connection", (socket) => {