diff --git a/server/src/middlewares/api.ts b/server/src/middlewares/api.ts new file mode 100644 index 00000000..c79529eb --- /dev/null +++ b/server/src/middlewares/api.ts @@ -0,0 +1,15 @@ +import { Request, Response } from "express"; +import User from "../models/User"; + +export const requireAPIKey = async (req: Request, res: Response, next: any) => { + const apiKey = req.headers['x-api-key']; + if (!apiKey) { + return res.status(401).json({ error: "API key is missing" }); + } + const user = await User.findOne({ where: { api_key: apiKey } }); + if (!user) { + return res.status(403).json({ error: "Invalid API key" }); + } + req.user = user; + next(); +};