2023-06-11 20:19:35 +03:00
|
|
|
const express = require("express")
|
|
|
|
const { gimmeToken } = require("../util.js")
|
|
|
|
const auth = express.Router()
|
|
|
|
auth.path = "/auth"
|
|
|
|
|
|
|
|
const PASS = process.env.PASS
|
2023-06-24 18:48:18 +03:00
|
|
|
let TOKEN = gimmeToken()
|
2023-06-11 20:19:35 +03:00
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
function authware(req, res, next) {
|
2023-06-11 20:19:35 +03:00
|
|
|
const token = req.query.token ? req.query.token : req.body.token
|
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
if (typeof token !== "string") return res.json({ error: 1 })
|
2023-06-11 20:19:35 +03:00
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
if (token !== TOKEN) return res.json({ error: 2 })
|
2023-06-11 20:19:35 +03:00
|
|
|
|
|
|
|
next()
|
|
|
|
}
|
|
|
|
auth.use("/logout", authware)
|
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
auth.get("/login", async (req, res) => {
|
2023-06-11 20:19:35 +03:00
|
|
|
const pass = req.query.pass
|
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
if (typeof pass !== "string") return res.json({ error: 1 })
|
2023-06-11 20:19:35 +03:00
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
if (pass !== PASS) return res.json({ error: 2 })
|
2023-06-11 20:19:35 +03:00
|
|
|
|
|
|
|
res.json({ error: 0, token: TOKEN })
|
|
|
|
})
|
|
|
|
|
2023-06-24 18:48:18 +03:00
|
|
|
auth.get("/logout", async (req, res) => {
|
2023-06-11 20:19:35 +03:00
|
|
|
TOKEN = gimmeToken()
|
|
|
|
res.json({ error: 0 })
|
|
|
|
})
|
|
|
|
|
|
|
|
module.exports = { auth, authware }
|