wangzhibo
2026-05-09 53418655c061ac26f66058253f39200aced1ab1d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import type { RequestHandler } from "express";
 
const BOARD_PREFIX = "/board";
 
export const requireAuth: RequestHandler = (req, res, next) => {
  if (req.session.user) {
    next();
    return;
  }
  const nextUrl = req.originalUrl || `${BOARD_PREFIX}/`;
  if (req.accepts("html")) {
    res.redirect(`${BOARD_PREFIX}/login?next=${encodeURIComponent(nextUrl)}`);
    return;
  }
  res.status(401).json({ error: "Unauthorized" });
};