file based auth

This commit is contained in:
2026-02-23 09:58:08 +00:00
parent 0bea406dcd
commit 2779fe22c6
40 changed files with 456 additions and 1010 deletions
+2 -6
View File
@@ -1,10 +1,9 @@
import './servers/bootstrap';
import type { ServerWebSocket } from 'bun';
import { serve } from 'bun';
import { eq } from 'drizzle-orm';
import { honoServer } from './servers/hono';
import { verify } from './servers/jwt';
import { officerdb, TokenBlacklist } from 'officerdb';
import { isTokenBlacklisted } from 'officerdb';
import { terminalWebsocket, initTerminalSidecars } from './servers/api/terminal/websocket';
import { piWebsocket } from './servers/api/pi/websocket';
import { findEntryBySlug, touchEntry } from './servers/api/dev-server/router';
@@ -93,10 +92,7 @@ async function upgradeWs(req: Request, server: any, provider: 'terminal' | 'pi')
if (!user) return new Response('Unauthorized', { status: 401 });
if (user.jti) {
const blacklisted = await officerdb.query.TokenBlacklist.findFirst({
where: eq(TokenBlacklist.jti, user.jti),
});
if (blacklisted) return new Response('Unauthorized', { status: 401 });
if (isTokenBlacklisted(user.jti)) return new Response('Unauthorized', { status: 401 });
}
const url = new URL(req.url);