Multi-Tenant Data Isolation & Query Partitioning
In a SaaS platform where multiple users configure links, custom domains, and view private analytics, a single un-scoped SQL query could inadvertently leak tenant data.
Risk: Cross-tenant data contamination, unauthorized analytics inspection, and privacy violations.
Engineered an authentication middleware that extracts verified tenant and user identity from signed HttpOnly session cookies. Every database repository function strictly requires `tenantId` / `userId` in its WHERE clause, preventing cross-tenant access at the repository contract level.
✓ Guaranteed logical data isolation across all tenant workspaces with comprehensive unit tests verifying that tenant A cannot access or mutate tenant B resources.
export const requireTenantAuth = (
req: AuthenticatedRequest,
res: Response,
next: NextFunction
) => {
const token = req.cookies["auth_session"]
if (!token) {
return res.status(401).json({ error: "Unauthorized: Missing session" })
}
try {
const payload = jwt.verify(token, config.JWT_SECRET) as SessionPayload
req.user = { id: payload.userId, email: payload.email }
req.tenantId = payload.tenantId
next()
} catch (err) {
return res.status(401).json({ error: "Invalid or expired session" })
}
}Extracts verified session credentials from HttpOnly cookies and attaches immutable tenant context to the Express request pipeline.