Files
2026-07-25 13:38:18 +05:30

22 lines
609 B
TypeScript

import type { Context, Next } from "@wrnexus/core";
import { captchaPageGate } from "@wrnexus/captcha/server";
import { captchaEngine } from "../lib/captcha.ts";
const pageGate = captchaPageGate({
action: "protected-page-access",
engine: captchaEngine,
challengePath: "/captcha",
policy: {
mode: "session",
verifiedForMs: 15 * 60_000,
routeGroups: ["/protected"],
},
});
export default function captchaProtectedPages(ctx: Context, next: Next) {
if (ctx.url.pathname === "/protected" || ctx.url.pathname === "/api/page-grant") {
return pageGate(ctx, next);
}
return next();
}