Make YouTube auth optional and non-blocking; manual stream key is baseline go-live path

This commit is contained in:
2026-08-04 10:28:01 -07:00
parent 8aebbff318
commit d4945f4fd0
2 changed files with 12 additions and 2 deletions
+5 -2
View File
@@ -13,17 +13,20 @@
---
## TASK 2 — YouTube OAuth2 Authentication
## TASK 2 — YouTube OAuth2 Authentication (optional, non-blocking)
**Goal:** Fully working Google OAuth2 flow — user clicks "YouTube", browser opens, authorization callback lands, channel info is stored.
**Design constraint:** Sign-in must NEVER block core usage. Users can go live with a manual stream key, build scenes, and record without authenticating. OAuth is an enhancement — it unlocks live chat, broadcast creation, scheduling, and YouTube-side health — not a prerequisite.
### Requirements:
1. **Google Cloud OAuth credentials** — client ID + secret (user provides; needs "Localhost" redirect URI)
2. **Local HTTP listener**`HttpListener` on `http://localhost:PORT/oauth2/callback` to catch the redirect
3. **Browser launch** — open the authorization URL in the default browser
4. **Token persistence** — store access/refresh tokens securely (Windows DPAPI), reload on startup
5. **UI state** — account name/avatar shown when connected, connection status reflected
5. **UI state** — account name/avatar shown when connected; "sign in (optional)" affordance, never a gate
6. **Stream key entry stays manual** — OAuth does not replace the manual stream key path
### Tests: