file based auth
This commit is contained in:
+2
-6
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user