Make YouTube auth optional and non-blocking; manual stream key is baseline go-live path
This commit is contained in:
@@ -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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user