Google Bridge — setup & efficiency

1. Google Cloud Console

Add these Authorized redirect URIs (exact match):

https://p31-google-bridge.trimtab-signal.workers.dev/oauth/google/callback

Optional — Authorized JavaScript origins:

https://p31-google-bridge.trimtab-signal.workers.dev

2. Scopes in Playground / app

3. One-shot checks (copy)

curl -sS "https://p31-google-bridge.trimtab-signal.workers.dev/api/google/ready" | jq

curl -sS "https://p31-google-bridge.trimtab-signal.workers.dev/health"

4. Readiness (live)

{
  "ok": true,
  "service": "p31-google-bridge",
  "time": "2026-04-29T16:58:08.344Z",
  "config": {
    "client_id_set": false,
    "client_secret_set": false,
    "redirect_url": "https://p31-google-bridge.trimtab-signal.workers.dev/oauth/google/callback",
    "allowlist_size": 4
  },
  "endpoints": {
    "self": "https://p31-google-bridge.trimtab-signal.workers.dev",
    "auth": "https://p31-google-bridge.trimtab-signal.workers.dev/auth",
    "setup": "https://p31-google-bridge.trimtab-signal.workers.dev/setup",
    "oauth_start": "https://p31-google-bridge.trimtab-signal.workers.dev/oauth/google/start",
    "ready": "https://p31-google-bridge.trimtab-signal.workers.dev/api/google/ready"
  }
}

Run npm run preflight locally from 04_SOFTWARE/p31-google-bridge before every deploy.

→ Web login /auth