[FEATURE] Cairo Auth Integration

This commit is contained in:
Dunemask 2024-02-04 17:02:15 -07:00
parent 184f1fa631
commit cdea22c08a
16 changed files with 89 additions and 45 deletions

View file

@ -8,8 +8,10 @@ import {
getItem,
} from "../controllers/file-controller.js";
import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
const router = Router();
router.use(jsonMiddleware());
router.use([jsonMiddleware(), cairoAuthMiddleware]);
const multerMiddleware = multer();
router.post("/list", listFiles);

View file

@ -19,6 +19,7 @@ const cairoAuthHandler = (req, res, next) => {
if (!req.token) return res.status(401).send("Cairo auth required!");
VERB("AUTH", `${MCL_CAIRO_URL}/api/user/info`);
cairoAuthenticate(req.token)
.then((authData) => (req.cairoId = authData.id))
.then(() => next())
.catch((err) => {
ERR("AUTH", err.response ? err.response.data : err.message);

View file

@ -15,14 +15,14 @@ import {
import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
const router = Router();
router.use(jsonMiddleware());
router.use([jsonMiddleware(), cairoAuthMiddleware]);
// Routes
router.post("/create", createServer);
router.delete("/delete", deleteServer);
router.post("/start", startServer);
router.post("/stop", stopServer);
router.get("/list", serverList);
router.get("/instances", cairoAuthMiddleware, serverInstances);
router.get("/instances", serverInstances);
router.post("/blueprint", getServer);
router.post("/modify", modifyServer);
export default router;

View file

@ -2,6 +2,10 @@ import { Router } from "express";
import k8s from "@kubernetes/client-node";
import { WARN } from "../util/logging.js";
const router = Router();
import cairoAuthMiddleware from "./middlewares/auth-middleware.js";
router.use(cairoAuthMiddleware);
const kc = new k8s.KubeConfig();
kc.loadFromDefault();
const k8sApi = kc.makeApiClient(k8s.CoreV1Api);