mirror of
https://github.com/fosrl/pangolin.git
synced 2026-01-29 06:10:47 +00:00
23 lines
630 B
TypeScript
23 lines
630 B
TypeScript
import { NextFunction, Response } from "express";
|
|
import ErrorResponse from "@server/types/ErrorResponse";
|
|
import { verifySession } from "@server/auth/sessions/verifySession";
|
|
import { unauthorized } from "@server/auth/unauthorizedResponse";
|
|
|
|
export const verifySessionMiddleware = async (
|
|
req: any,
|
|
res: Response<ErrorResponse>,
|
|
next: NextFunction
|
|
) => {
|
|
const { forceLogin } = req.query;
|
|
|
|
const { session, user } = await verifySession(req, forceLogin === "true");
|
|
if (!session || !user) {
|
|
return next(unauthorized());
|
|
}
|
|
|
|
req.user = user;
|
|
req.session = session;
|
|
|
|
return next();
|
|
};
|