Files
yourwillyourwish/docs/QUICK_OAUTH_SETUP.md
2026-02-06 21:44:04 -06:00

2.8 KiB

Quick OAuth Setup Checklist

For Google OAuth

1. Go to: https://console.cloud.google.com/
2. Create new project: "Estate Platform"
3. Enable Google+ API
4. Create OAuth 2.0 Web Application credentials
5. Set redirect URI: http://localhost:3001/auth/google/callback
6. Copy Client ID and Secret
7. Edit: data/system-config.json
   "google": {
     "enabled": true,
     "clientId": "YOUR_CLIENT_ID",
     "clientSecret": "YOUR_CLIENT_SECRET"
   }
8. Restart server: npm run dev

For GitHub OAuth

1. Go to: https://github.com/settings/developers
2. Create New OAuth App
3. Set callback: http://localhost:3001/auth/github/callback
4. Copy Client ID and generate Client Secret
5. Edit: data/system-config.json
   "github": {
     "enabled": true,
     "clientId": "YOUR_CLIENT_ID",
     "clientSecret": "YOUR_CLIENT_SECRET"
   }
6. Restart server: npm run dev

For Facebook OAuth

1. Go to: https://developers.facebook.com/
2. Create new app (Consumer type)
3. Add Facebook Login product
4. Set redirect: http://localhost:3001/auth/facebook/callback
5. Get App ID and App Secret
6. Edit: data/system-config.json
   "facebook": {
     "enabled": true,
     "clientId": "YOUR_APP_ID",
     "clientSecret": "YOUR_APP_SECRET"
   }
7. Restart server: npm run dev

For Discord OAuth

1. Go to: https://discord.com/developers/applications
2. Create New Application
3. Go to OAuth2 section
4. Add redirect: http://localhost:3001/auth/discord/callback
5. Copy Client ID and generate Client Secret
6. Edit: data/system-config.json
   "discord": {
     "enabled": true,
     "clientId": "YOUR_CLIENT_ID",
     "clientSecret": "YOUR_CLIENT_SECRET"
   }
7. Restart server: npm run dev

Testing

  1. Open http://localhost:3001
  2. Click "Get Started" or login button
  3. You should see OAuth provider buttons:
    • 🔍 Google
    • 🐙 GitHub
    • 👍 Facebook
    • 💬 Discord
  4. Click any button to test the OAuth flow

Disable a Provider

Set "enabled": false for any provider in data/system-config.json:

"google": {
  "enabled": false,
  "clientId": "...",
  "clientSecret": "..."
}

The button will no longer appear in the login modal.

Environment Variables (Production)

Instead of editing system-config.json, you can use environment variables:

GOOGLE_CLIENT_ID=xxx
GOOGLE_CLIENT_SECRET=xxx
GITHUB_CLIENT_ID=xxx
GITHUB_CLIENT_SECRET=xxx
FACEBOOK_CLIENT_ID=xxx
FACEBOOK_CLIENT_SECRET=xxx
DISCORD_CLIENT_ID=xxx
DISCORD_CLIENT_SECRET=xxx

Production URLs

Replace http://localhost:3001 with your actual domain:

  • Production: https://yourdomain.com/auth/[provider]/callback
  • Staging: https://staging.yourdomain.com/auth/[provider]/callback

Update these in BOTH:

  1. Provider dashboard settings
  2. system-config.json or environment variables