Property Management Network — Next.js 16 (App Router), Better Auth, Drizzle ORM over PostgreSQL, Stripe, OpenAI, Resend. Includes: - Security hardening: access-control/IDOR fixes, TLS-by-default DB layer, constant-time cron auth, strict security headers, atomic AI quota gating, HTML/email output encoding, demo-backdoor disabled in production. - Superadmin dashboard at /admin (overview/MRR, server-paginated users with ban/impersonate/plan/delete, billing, platform activity + admin audit log, AI usage, system health) via the Better Auth admin plugin. - Seed/migration utility scripts under scripts/. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
988 B
988 B
Google OAuth Setup
Step 1 — Google Cloud Console
- Go to https://console.cloud.google.com
- Create a new project (or select existing)
- Go to "APIs & Services" → "Credentials"
- Click "Create Credentials" → "OAuth 2.0 Client IDs"
- Application type: "Web application"
- Name: "Property Management Network"
- Authorized redirect URIs — add:
https://lcumidlbsokrbkwkmklk.supabase.co/auth/v1/callback - Click "Create"
- Copy the Client ID and Client Secret
Step 2 — Supabase Dashboard
- Go to https://supabase.com/dashboard/project/lcumidlbsokrbkwkmklk/auth/providers
- Find "Google" and enable it
- Paste the Client ID and Client Secret from Step 1
- Save
Step 3 — Site URL
- Go to https://supabase.com/dashboard/project/lcumidlbsokrbkwkmklk/auth/url-configuration
- Set Site URL to:
http://localhost:3000 - Add Redirect URL:
http://localhost:3000/api/auth/callback - Save
Done — Google OAuth will work.