@faskai/svcs-commons
v0.0.0-alpha.3
Published
Common service utilities for Fask microservices
Downloads
329
Readme
Fask Services Commons
Common utilities and modules for Fask microservices.
Features
Auth Module
- Unified authentication guard supporting multiple providers
- Firebase authentication
- Clerk authentication
- Automatic workspace-id injection from tokens
- Public route decorator
Installation
npm install @faskai/fask-svcs-commonsUsage
In your NestJS app module:
import { AuthModule } from '@faskai/fask-svcs-commons';
@Module({
imports: [
AuthModule,
// ... other modules
],
})
export class AppModule {}Environment Variables
# Firebase (optional)
FIREBASE_CLIENT_EMAIL=...
FIREBASE_PRIVATE_KEY=...
# Clerk (optional)
CLERK_SECRET_KEY=...
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=...
CLERK_JWT_KEY=...
# API Key
API_KEY=...Auth Guard Features
- Automatically validates tokens from
Authorization: Bearer <token>header - Supports
X-Auth-Provider: clerkheader to specify Clerk tokens - Injects
workspace-idinto query params based on:- Clerk: Uses
orgIdfrom token (oruserIdfor personal workspace) - Firebase: Uses user's email
- Clerk: Uses
- Stores
userId,workspaceId,authProviderin ClsService for easy access - Bypasses authentication for routes marked with
@Public()decorator
