feat: requireAPIKey middleware
This commit is contained in:
15
server/src/middlewares/api.ts
Normal file
15
server/src/middlewares/api.ts
Normal file
@@ -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();
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user