UNPKG

@paroicms/server

Version:
22 lines 953 B
import { accessTokenTtlInMs, generateProtectedToken, PROTECTED_TOKEN_COOKIE, } from "./protected-access-token.js"; export async function protectedAccessController(siteContext, httpContext) { const { access: { access, password }, } = siteContext; if (access !== "protected" || !password) return { status: 401 }; if (httpContext.req.method !== "POST" || !httpContext.req.body) { httpContext.res.status(400); return { status: 400, message: "Bad request" }; } const body = httpContext.req.body; if (body.password === password) { const token = await generateProtectedToken(password); httpContext.res.cookie(PROTECTED_TOKEN_COOKIE, token, { httpOnly: true, path: "/", maxAge: body.remember ? accessTokenTtlInMs : undefined, }); return { status: 200 }; } return { status: 401 }; } //# sourceMappingURL=protected-access.controller.js.map