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