13 lines
441 B
TypeScript
13 lines
441 B
TypeScript
|
|
import type { Request, Response, NextFunction } from 'express';
|
||
|
|
import { isValidToken } from './db.js';
|
||
|
|
|
||
|
|
export function requireToken(req: Request, res: Response, next: NextFunction) {
|
||
|
|
const header = req.header('authorization') ?? '';
|
||
|
|
const token = header.startsWith('Bearer ') ? header.slice(7) : null;
|
||
|
|
if (!token || !isValidToken(token)) {
|
||
|
|
res.status(401).json({ error: 'missing or invalid token' });
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
next();
|
||
|
|
}
|