website/api/routes/auth.js

36 lines
811 B
JavaScript
Raw Normal View History

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
let TOKEN = gimmeToken()
2023-06-11 20:19:35 +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
if (typeof token !== "string") return res.json({ error: 1 })
2023-06-11 20:19:35 +03:00
if (token !== TOKEN) return res.json({ error: 2 })
2023-06-11 20:19:35 +03:00
next()
}
auth.use("/logout", authware)
auth.get("/login", async (req, res) => {
2023-06-11 20:19:35 +03:00
const pass = req.query.pass
if (typeof pass !== "string") return res.json({ error: 1 })
2023-06-11 20:19:35 +03:00
if (pass !== PASS) return res.json({ error: 2 })
2023-06-11 20:19:35 +03:00
res.json({ error: 0, token: TOKEN })
})
auth.get("/logout", async (req, res) => {
2023-06-11 20:19:35 +03:00
TOKEN = gimmeToken()
res.json({ error: 0 })
})
module.exports = { auth, authware }