Validate incoming JWTs on a Twitch Extension's EBS backend using the extension's shared secret

domain: dev.twitch.tv · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Retrieve your extension's base64-encoded shared secret from the Developer Console's Extension settings; this secret is used to both sign and verify JWTs for that extension.
  2. On every request the EBS receives from the Extension frontend, extract the JWT and verify its signature against the decoded shared secret before trusting any claims.
  3. Validate the standard claims Twitch includes (channel_id, user_id or opaque_user_id, role, exp) to authorize the request appropriately for the caller's role (broadcaster, moderator, viewer).
  4. When your EBS needs to call Twitch Extension endpoints itself, sign a new JWT with the same shared secret rather than reusing a client-issued one.
  5. Rotate the shared secret periodically from the Developer Console; plan for a grace period since the old secret remains valid for a limited time after rotation.

Known gotchas

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans