- Backend: Azure AD JWKS validator with 24h cache, new POST /api/v1/auth/sso/login endpoint, sso_login() in AuthService with auto-provisioning, password_hash made nullable, auth_provider column added, Alembic migration c1d2e3f4a5b6 - Frontend: @azure/msal-browser, msal.ts config singleton, ssoLogin() API function, login page updated with SSO button and redirect callback handling - Deploy: frontend Dockerfile and docker-compose.prod.yml updated to bake Azure AD vars into the image at build time; deploy.sh validates SSO config on init/deploy Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
36 lines
1.1 KiB
Text
36 lines
1.1 KiB
Text
# ============================================================
|
|
# Production Environment — copy to .env and fill in values
|
|
# ============================================================
|
|
|
|
# Database (internal Docker network — no need to change host/port)
|
|
DATABASE_URL=postgresql+asyncpg://transcreation:CHANGE_ME_DB_PASSWORD@db:5432/transcreation
|
|
DB_USER=transcreation
|
|
DB_PASSWORD=CHANGE_ME_DB_PASSWORD
|
|
DB_NAME=transcreation
|
|
|
|
# Redis (internal Docker network)
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# Anthropic API
|
|
ANTHROPIC_API_KEY=sk-ant-YOUR_KEY_HERE
|
|
|
|
# Auth
|
|
JWT_SECRET_KEY=CHANGE_ME_GENERATE_WITH_python3_-c_"import secrets; print(secrets.token_hex(32))"
|
|
JWT_ALGORITHM=HS256
|
|
JWT_EXPIRY_HOURS=8
|
|
|
|
# Storage
|
|
STORAGE_ROOT=/storage
|
|
|
|
# LLM Model
|
|
LLM_MODEL=claude-sonnet-4-6
|
|
|
|
# Azure AD SSO
|
|
AZURE_AD_TENANT_ID=e519c2e6-bc6d-4fdf-8d9c-923c2f002385
|
|
AZURE_AD_CLIENT_ID=9079054c-9620-4757-a256-23413042f1ef
|
|
AZURE_AD_SSO_ENABLED=true
|
|
|
|
# Frontend (set at Docker build time via docker-compose.prod.yml)
|
|
NEXT_PUBLIC_API_URL=/amazon-transcreation
|
|
NEXT_PUBLIC_WS_URL=
|
|
NEXT_PUBLIC_BASE_PATH=/amazon-transcreation
|