Add OAuth account linking for Twitch and YouTube integrations #69

Closed
opened 2026-06-07 21:37:14 -05:00 by Gitchegumi · 0 comments
Gitchegumi commented 2026-06-07 21:37:14 -05:00 (Migrated from github.com)

Summary

Improve the Twitch and YouTube integration setup so users can connect their accounts through OAuth instead of manually entering platform identifiers, client details, broadcaster/channel IDs, or webhook configuration values.

Ko-fi can remain token/webhook based because its integration model does not provide the same full OAuth-style account linking flow. Twitch and YouTube should feel closer to how StreamElements and Streamer.bot allow users to sign in, authorize the app, and have the tool associate the connected account with the correct workspace/channel.

Problem

The current integration flow expects too much manual platform configuration from the user. For Twitch and YouTube, users should not need to manually find and paste IDs or credentials when both platforms support OAuth-based authorization flows.

Manual setup is error-prone and creates friction for non-technical users. Account linking should be handled by the app.

Desired behavior

  • Add “Connect Twitch” and “Connect YouTube” actions in the integrations UI.
  • Users should be redirected through the appropriate OAuth authorization flow.
  • After authorization, the app should associate the connected Twitch or YouTube account with the current workspace/channel.
  • Store tokens securely using the existing encrypted credential storage.
  • Refresh tokens where supported/required.
  • Surface connection status in the UI:
    • Not connected
    • Connected
    • Token expired / reconnect required
    • Webhook/EventSub subscription issue
  • Allow users to disconnect/reconnect accounts.
  • Preserve Ko-fi’s current manual token/webhook setup.

Twitch requirements

  • Implement Twitch OAuth account linking.
  • Retrieve and store the broadcaster/user identity after authorization.
  • Use the connected account to configure or validate Twitch EventSub integration.
  • Avoid requiring users to manually enter broadcaster IDs where the OAuth flow can provide them.
  • Handle token refresh/reconnect states cleanly.

YouTube requirements

  • Implement YouTube/Google OAuth account linking.
  • Retrieve and store the authorized channel identity after authorization.
  • Use the connected account to support YouTube webhook/PubSub setup where possible.
  • Avoid requiring users to manually enter channel IDs where the OAuth flow can provide them.
  • Handle token refresh/reconnect states cleanly.

Ko-fi

Ko-fi can stay as-is for now:

  • Manual verification token
  • Webhook URL setup
  • Stored per workspace/channel

Do not block this issue on Ko-fi OAuth.

Acceptance criteria

  • A user can connect Twitch from the integrations page without manually entering broadcaster IDs.
  • A user can connect YouTube from the integrations page without manually entering channel IDs.
  • Connected accounts are associated with the correct workspace/channel.
  • Tokens/secrets are encrypted at rest.
  • Users can disconnect and reconnect Twitch and YouTube accounts.
  • The UI clearly shows connection health/status.
  • Existing manual Ko-fi setup still works.
  • Existing webhook/event handling continues to work after migration.
  • Documentation is updated for the new OAuth setup flow.

Notes

This should move the integration UX closer to StreamElements and Streamer.bot: users authenticate with the platform, grant permissions, and the app handles the account association and stored credentials.## Summary

Improve the Twitch and YouTube integration setup so users can connect their accounts through OAuth instead of manually entering platform identifiers, client details, broadcaster/channel IDs, or webhook configuration values.

Ko-fi can remain token/webhook based because its integration model does not provide the same full OAuth-style account linking flow. Twitch and YouTube should feel closer to how StreamElements and Streamer.bot allow users to sign in, authorize the app, and have the tool associate the connected account with the correct workspace/channel.

Problem

The current integration flow expects too much manual platform configuration from the user. For Twitch and YouTube, users should not need to manually find and paste IDs or credentials when both platforms support OAuth-based authorization flows.

Manual setup is error-prone and creates friction for non-technical users. Account linking should be handled by the app.

Desired behavior

  • Add “Connect Twitch” and “Connect YouTube” actions in the integrations UI.
  • Users should be redirected through the appropriate OAuth authorization flow.
  • After authorization, the app should associate the connected Twitch or YouTube account with the current workspace/channel.
  • Store tokens securely using the existing encrypted credential storage.
  • Refresh tokens where supported/required.
  • Surface connection status in the UI:
    • Not connected
    • Connected
    • Token expired / reconnect required
    • Webhook/EventSub subscription issue
  • Allow users to disconnect/reconnect accounts.
  • Preserve Ko-fi’s current manual token/webhook setup.

Twitch requirements

  • Implement Twitch OAuth account linking.
  • Retrieve and store the broadcaster/user identity after authorization.
  • Use the connected account to configure or validate Twitch EventSub integration.
  • Avoid requiring users to manually enter broadcaster IDs where the OAuth flow can provide them.
  • Handle token refresh/reconnect states cleanly.

YouTube requirements

  • Implement YouTube/Google OAuth account linking.
  • Retrieve and store the authorized channel identity after authorization.
  • Use the connected account to support YouTube webhook/PubSub setup where possible.
  • Avoid requiring users to manually enter channel IDs where the OAuth flow can provide them.
  • Handle token refresh/reconnect states cleanly.

Ko-fi

Ko-fi can stay as-is for now:

  • Manual verification token
  • Webhook URL setup
  • Stored per workspace/channel

Do not block this issue on Ko-fi OAuth.

Acceptance criteria

  • A user can connect Twitch from the integrations page without manually entering broadcaster IDs.
  • A user can connect YouTube from the integrations page without manually entering channel IDs.
  • Connected accounts are associated with the correct workspace/channel.
  • Tokens/secrets are encrypted at rest.
  • Users can disconnect and reconnect Twitch and YouTube accounts.
  • The UI clearly shows connection health/status.
  • Existing manual Ko-fi setup still works.
  • Existing webhook/event handling continues to work after migration.
  • Documentation is updated for the new OAuth setup flow.

Notes

This should move the integration UX closer to StreamElements and Streamer.bot: users authenticate with the platform, grant permissions, and the app handles the account association and stored credentials.

## Summary Improve the Twitch and YouTube integration setup so users can connect their accounts through OAuth instead of manually entering platform identifiers, client details, broadcaster/channel IDs, or webhook configuration values. Ko-fi can remain token/webhook based because its integration model does not provide the same full OAuth-style account linking flow. Twitch and YouTube should feel closer to how StreamElements and Streamer.bot allow users to sign in, authorize the app, and have the tool associate the connected account with the correct workspace/channel. ## Problem The current integration flow expects too much manual platform configuration from the user. For Twitch and YouTube, users should not need to manually find and paste IDs or credentials when both platforms support OAuth-based authorization flows. Manual setup is error-prone and creates friction for non-technical users. Account linking should be handled by the app. ## Desired behavior - Add “Connect Twitch” and “Connect YouTube” actions in the integrations UI. - Users should be redirected through the appropriate OAuth authorization flow. - After authorization, the app should associate the connected Twitch or YouTube account with the current workspace/channel. - Store tokens securely using the existing encrypted credential storage. - Refresh tokens where supported/required. - Surface connection status in the UI: - Not connected - Connected - Token expired / reconnect required - Webhook/EventSub subscription issue - Allow users to disconnect/reconnect accounts. - Preserve Ko-fi’s current manual token/webhook setup. ## Twitch requirements - Implement Twitch OAuth account linking. - Retrieve and store the broadcaster/user identity after authorization. - Use the connected account to configure or validate Twitch EventSub integration. - Avoid requiring users to manually enter broadcaster IDs where the OAuth flow can provide them. - Handle token refresh/reconnect states cleanly. ## YouTube requirements - Implement YouTube/Google OAuth account linking. - Retrieve and store the authorized channel identity after authorization. - Use the connected account to support YouTube webhook/PubSub setup where possible. - Avoid requiring users to manually enter channel IDs where the OAuth flow can provide them. - Handle token refresh/reconnect states cleanly. ## Ko-fi Ko-fi can stay as-is for now: - Manual verification token - Webhook URL setup - Stored per workspace/channel Do not block this issue on Ko-fi OAuth. ## Acceptance criteria - A user can connect Twitch from the integrations page without manually entering broadcaster IDs. - A user can connect YouTube from the integrations page without manually entering channel IDs. - Connected accounts are associated with the correct workspace/channel. - Tokens/secrets are encrypted at rest. - Users can disconnect and reconnect Twitch and YouTube accounts. - The UI clearly shows connection health/status. - Existing manual Ko-fi setup still works. - Existing webhook/event handling continues to work after migration. - Documentation is updated for the new OAuth setup flow. ## Notes This should move the integration UX closer to StreamElements and Streamer.bot: users authenticate with the platform, grant permissions, and the app handles the account association and stored credentials.## Summary Improve the Twitch and YouTube integration setup so users can connect their accounts through OAuth instead of manually entering platform identifiers, client details, broadcaster/channel IDs, or webhook configuration values. Ko-fi can remain token/webhook based because its integration model does not provide the same full OAuth-style account linking flow. Twitch and YouTube should feel closer to how StreamElements and Streamer.bot allow users to sign in, authorize the app, and have the tool associate the connected account with the correct workspace/channel. ## Problem The current integration flow expects too much manual platform configuration from the user. For Twitch and YouTube, users should not need to manually find and paste IDs or credentials when both platforms support OAuth-based authorization flows. Manual setup is error-prone and creates friction for non-technical users. Account linking should be handled by the app. ## Desired behavior - Add “Connect Twitch” and “Connect YouTube” actions in the integrations UI. - Users should be redirected through the appropriate OAuth authorization flow. - After authorization, the app should associate the connected Twitch or YouTube account with the current workspace/channel. - Store tokens securely using the existing encrypted credential storage. - Refresh tokens where supported/required. - Surface connection status in the UI: - Not connected - Connected - Token expired / reconnect required - Webhook/EventSub subscription issue - Allow users to disconnect/reconnect accounts. - Preserve Ko-fi’s current manual token/webhook setup. ## Twitch requirements - Implement Twitch OAuth account linking. - Retrieve and store the broadcaster/user identity after authorization. - Use the connected account to configure or validate Twitch EventSub integration. - Avoid requiring users to manually enter broadcaster IDs where the OAuth flow can provide them. - Handle token refresh/reconnect states cleanly. ## YouTube requirements - Implement YouTube/Google OAuth account linking. - Retrieve and store the authorized channel identity after authorization. - Use the connected account to support YouTube webhook/PubSub setup where possible. - Avoid requiring users to manually enter channel IDs where the OAuth flow can provide them. - Handle token refresh/reconnect states cleanly. ## Ko-fi Ko-fi can stay as-is for now: - Manual verification token - Webhook URL setup - Stored per workspace/channel Do not block this issue on Ko-fi OAuth. ## Acceptance criteria - A user can connect Twitch from the integrations page without manually entering broadcaster IDs. - A user can connect YouTube from the integrations page without manually entering channel IDs. - Connected accounts are associated with the correct workspace/channel. - Tokens/secrets are encrypted at rest. - Users can disconnect and reconnect Twitch and YouTube accounts. - The UI clearly shows connection health/status. - Existing manual Ko-fi setup still works. - Existing webhook/event handling continues to work after migration. - Documentation is updated for the new OAuth setup flow. ## Notes This should move the integration UX closer to StreamElements and Streamer.bot: users authenticate with the platform, grant permissions, and the app handles the account association and stored credentials.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gitchegumi/GitchAlerts#69
No description provided.