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