Add one-time code login flow with token sessions
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user