platform-codebase/features/sso/backend-api
Lilith a5f1060b45 🔧 Update configs, E2E Dockerfiles, and dependencies
- platform-admin: Update vite.config, add Dockerfile.e2e
- profile: Update ProfileEditorPage
- truth-validation: Update TypeScript config
- sso/status-dashboard: Add ESLint configs
- Update pnpm-lock.yaml

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 23:49:56 -08:00
..
src ♻️ Migrate SSO from cookies to Bearer token auth 2026-01-01 20:26:44 -08:00
test ♻️ Rename backend directories to backend-api 2025-12-31 17:38:15 -08:00
.eslintrc.json ♻️ Rename backend directories to backend-api 2025-12-31 17:38:15 -08:00
Dockerfile ♻️ Rename backend directories to backend-api 2025-12-31 17:38:15 -08:00
eslint.config.js 🔧 Update configs, E2E Dockerfiles, and dependencies 2026-01-01 23:49:56 -08:00
nest-cli.json ♻️ Rename backend directories to backend-api 2025-12-31 17:38:15 -08:00
package.json ♻️ Migrate SSO from cookies to Bearer token auth 2026-01-01 20:26:44 -08:00
README.md ♻️ Rename backend directories to backend-api 2025-12-31 17:38:15 -08:00
tsconfig.json ♻️ Rename backend directories to backend-api 2025-12-31 17:38:15 -08:00

SSO Service

Single Sign-On authentication service for lilith-platform.

Features

  • Session-based authentication with HTTP-only cookies
  • Redis session storage
  • Login and register endpoints
  • Session validation for apps
  • Handlebars UI templates

Endpoints

Authentication API

  • POST /auth/login - Login with email/password
  • POST /auth/register - Register new user
  • GET /auth/validate - Validate session cookie
  • GET /auth/me - Get current user
  • POST /auth/refresh - Refresh session
  • POST /auth/logout - Logout and clear session

UI Pages

  • GET /login - Login page
  • GET /register - Register page

Setup

  1. Copy .env.example to .env:

    cp .env.example .env
    
  2. Install dependencies:

    pnpm install
    
  3. Start Redis (required):

    docker-compose up redis
    
  4. Start development server:

    pnpm start:dev
    
  5. Access:

Environment Variables

See .env.example for required configuration.

Integration

Apps integrate by:

  1. Redirecting to /login or /register (in popup or iframe)
  2. Receiving AUTH_SUCCESS postMessage on completion
  3. Making requests with credentials: 'include' to include cookies
  4. Validating sessions via GET /auth/validate

Docker

Build:

docker build -t lilith-sso .

Run:

docker run -p 4001:4001 --env-file .env lilith-sso