AI Toolkit
Modulesauth

auth

API key validation, RBAC, and multi-tenant context

Overview

The auth module provides API key authentication with timing-safe comparison, role-based access control, and multi-tenant context extraction from request headers.

No peer dependencies required.

Quick Start

import { createApiKeyGuard, requireApiKey } from '@jamaalbuilds/ai-toolkit/auth';

const Guard = createApiKeyGuard(process.env.API_KEY!);
// Guard is a NestJS guard class — use with @UseGuards(Guard)

// For direct validation in any framework:
requireApiKey(request, process.env.API_KEY!);

API Reference

createApiKeyGuard(expectedKey)

Create a NestJS guard class for API key authentication with timing-safe comparison.

function createApiKeyGuard(expectedKey: string): Type<CanActivate>
const Guard = createApiKeyGuard(process.env.API_KEY!);
// Use as a NestJS guard: @UseGuards(Guard)

requireApiKey(request, expectedKey?)

Validate an API key from request headers. Throws AuthError if invalid.

getUserId(headers), getOrgId(headers)

Extract user and organization IDs from request headers.

getTenantContext(request)

Extract full tenant context from request for multi-tenant apps.

const ctx = getTenantContext(request);
// { userId: 'usr_123', orgId: 'org_456' }

Types

  • TenantContext — userId, orgId
On this page

On this page