Add one-time code login flow with token sessions

This commit is contained in:
Ruslan Bakiev
2026-04-01 19:09:59 +07:00
parent f135c12785
commit 8c8689a877
5 changed files with 633 additions and 6 deletions

View File

@@ -1,7 +1,14 @@
import { prisma } from './prisma-client.js';
import { extractAuthTokenFromRequest, verifyAccessToken } from './auth.js';
export async function buildContext(req) {
const userId = req.headers['x-user-id'];
const token = extractAuthTokenFromRequest(req);
const tokenPayload = verifyAccessToken(token);
const legacyUserIdHeader = Array.isArray(req.headers['x-user-id'])
? req.headers['x-user-id'][0]
: req.headers['x-user-id'];
const userId = tokenPayload?.userId ?? legacyUserIdHeader;
const user = userId
? await prisma.user.findUnique({ where: { id: String(userId) } })
: null;