# OAuth Configuration for Clerk + Google
# Copy this file to .env and fill in your actual values

# =============================================================================
# AUTHENTICATION SETTINGS
# =============================================================================

# Enable/disable authentication (set to "true" to enable OAuth)
ENABLE_AUTH=false

# =============================================================================
# CLERK CONFIGURATION
# =============================================================================

# Clerk API keys (get from https://dashboard.clerk.com/)
CLERK_SECRET_KEY=sk_test_your_secret_key_here
CLERK_PUBLISHABLE_KEY=pk_test_your_publishable_key_here

# OAuth Redirect URLs
CLERK_OAUTH_REDIRECT_URL=http://localhost:8000/auth/callback
CLERK_FRONTEND_URL=http://localhost:3000

# Clerk domain issuer (usually auto-configured)
CLERK_ISSUER=https://your-clerk-domain.clerk.accounts.dev
CLERK_DOMAIN=your-clerk-domain

# =============================================================================
# GOOGLE OAUTH SETTINGS
# =============================================================================
# Note: Google OAuth is configured through Clerk dashboard
# You need to:
# 1. Go to Clerk Dashboard > Social Connections
# 2. Enable Google provider
# 3. Add your Google OAuth client ID and secret
# 4. Configure redirect URIs in Google Console

# =============================================================================
# STRIPE CONFIGURATION (for payments/subscriptions)
# =============================================================================

STRIPE_SECRET=sk_test_your_stripe_secret_key_here
STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret_here

# =============================================================================
# SERVER CONFIGURATION
# =============================================================================

# CORS origins (comma-separated list)
ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8000,https://yourdomain.com

# Server settings
HOST=0.0.0.0
PORT=8000
LOG_LEVEL=info

# Base URL for the application (used for OAuth callbacks and API URLs)
BASE_URL=http://localhost:8000

# JWT Secret for MCP token generation
JWT_SECRET_KEY=your_jwt_secret_key_here

# =============================================================================
# MCP SERVER SETTINGS
# =============================================================================

# Additional MCP server configuration can go here
# For example, rate limiting, feature flags, etc.

# Example: Rate limiting
# MAX_REQUESTS_PER_MINUTE=60
# BURST_CAPACITY=20

# =============================================================================
# USAGE INSTRUCTIONS
# =============================================================================

# 1. Copy this file to .env:
#    cp .env.example .env

# 2. Get Clerk credentials:
#    - Sign up at https://clerk.com/
#    - Create a new application
#    - Go to API Keys tab
#    - Copy Secret Key and Publishable Key

# 3. Configure Google OAuth in Clerk:
#    - In Clerk Dashboard, go to Social Connections
#    - Enable Google provider
#    - Get Google OAuth credentials from Google Console
#    - Add redirect URI: http://localhost:8000/auth/callback

# 4. Update OAuth URLs:
#    - Set CLERK_OAUTH_REDIRECT_URL to your callback URL
#    - Set CLERK_FRONTEND_URL to your frontend application URL

# 5. Enable authentication:
#    - Set ENABLE_AUTH=true

# 6. Test the OAuth flow:
#    - Start server: uvicorn asgi_app:app --reload
#    - Visit: http://localhost:8000/auth/login
#    - Complete OAuth flow with Google
#    - Check: http://localhost:8000/auth/user