INNER CODE UNIT · TypeScript
requireAdminToken
bex-co/beancount-io · backend-cluster/agent-box/src/index.ts:58
const requireAdminToken = async (c: Context, next: Next) => {
const env = c.env as Env;
const request = c.req.raw;
const providedToken = request.headers.get('x-admin-token');
const expectedToken = env.ADMIN_TOKEN;
if (!validateAdminToken(request, expectedToken)) {
let message: string;
if (!providedToken) {
message = 'Missing x-admin-token header';
} else if (!expectedToken) {
message = 'Server error: ADMIN_TOKEN not configured';
} else {
message =
'Invalid x-admin-token. Check ADMIN_TOKEN in Cloudflare Workers secrets';
}
return jsonResponse({ error: 'Unauthorized', message }, { status: 401 });
}