Is Oauth required for making stuff like a Decklist extension?

I want to make a Decklist extension (basically just webpage with a list of text) that Streamers can point to. And I am trying to wrap my head around how this can be solved. As far as I can see on existing ones for HearthStone / Magic the gathering, all the sites use Oauth with Twitch. I am guessing that the site just uses their Twitch “ID” and when the user clicks their overlay and their deck, the web request just send the ID og Twitch user to their webpage and it responds with whatever deck that is bound with that ID.

So my question is, can this be done without using Twitch Oauth? I also want to give streamers on our site registered with only email/password or Facebook Oauth the ability to have a deck overlay in their VOD. Can this be solved in any way? I have the following three thoughts on solving it but I am struggling to find out if this is possible, maybe all of them are for what I know:

  • Users configure their unique site ID/username in the extension configuration on Twitch. When a user clicks the extension that ID is sendt with API call or POST/GET to website which returns the current selected deck of that user.

  • Same as above but streamer buts in a unique deck number ID and the website return that deck.

  • Users on website configure their Twitch Username/Channel name. When the user clicks the extension, Twitch sends the username/channelname with API or POST/GET and a the deck of this user/channel is then returned.

Help would be very much appriciated ! Thanks for reading.

You can get the channels twitch user id where the extension is running without authenticating if that helps you.

As someone who plays a relatively obscure MtG format, believe me when I say that I have vested interest.

If I were making a deck-list Extension, I would not try to leverage OAuth. Rather, I’d either add required configuration for the config view, or add options to live config view to let a broadcaster more easily change deck-lists on the fly, and not rely on a one-to-one mapping of deck-lists to broadcasters. Both of these methods require an Extension backend. I am assuming here that the deck-lists are publicly available.

If you wanted to avoid creating an Extension Backend, you could try to align Twitch ID with a unique ID in the system that manages deck-lists (this is only relevant if you control said system).

Deck overlay in VOD? Extensions and VODs currently do not intersect - an Extension overlay sits in an iframe on top of a video stream. You can always bake content into a VOD at the point where it is encoded. This removes the ability for a user to interact with it though.

Thank you for your answers guys! I think I understand more about how I can go about this now. Yeah I was not using the term VOD right, I meant of course during a video stream.

Cool to see another MTG player rbartlet! I am one of two dudes behind (The one thats not the pro developer and just an amateur) and im looking into making an extension for linking public decks from our site to the Twitch overlay.It is really good to head that I can do this by using the config view, I could have the streamer just paste the ID number of the Public deck he want to show. Or that I have the option of going the opposite way and maybe show the Streamer its TwitchUser ID in the config extension and make him paste that number in his site profile. Then all viewer requests with this ID would show that one deck the streamer selects on the site.

I might have misunderstood something here but at least this gives me the confidence to really dive into reading up more and trying out stuff with the extensions now that I know im am not dependent on implementing a Twitch login at the site. It seems to me that most other extension plugins do just this and it left me to believe that this was the only way.