Requesting Broadcaster Abilities - OAuth

Hello there,

I am trying to understand what is required on my end as a developer for the authentication flow for requesting broadcaster abilities in regards to extensions. I understand the overall flow but am unclear on getting the user prompt for authorization and where is the callback/redirect endpoint that I should be catching on the EBS side.

For example, if I need the scope ‘chat_login’, I can add it to the list in the Extensions Dashboard under “Extension Capabilities”. But then when I go to test out my extension locally and I go to activate it, it never prompts me for authorization request.

Based on the documentation here →

If your extension needs to perform Twitch API actions on behalf of the broadcaster, it can specify a list of OAuth scopes in the required_broadcaster_abilities part of the manifest.

If this list is present, the broadcaster is presented with the usual Twitch OAuth flow when he tries to activate the extension.

I have seen other extensions currently live that are using OAuth through their configure page but based on that paragraph above I was assuming that when a broadcaster tries to activate the extension it will automatically prompt and then send the appropriate information to a callback/redirect url on my EBS.

Also, in that document above, what exactly is the ‘manifest’ and where is that edited? I was assuming it was through the “Extension Capabilities” section but not clear on that.

Any help is appreciated

Thank you!

The documentation refers to the “old” method of configuring extensions before the new developer portal existed.

You need

  • Extensions
  • Edit extension
  • Versions
  • Manage a version
  • Extension capability
  • Required Broadcaster Abilities (Comma-separated list of Oauth scopes that the extension needs from a broadcast)

Try fully deactivating and reactivating, I actually haven’t tinkered with oauth scopes on extensions yet myself. Also you probably want to avoid chat_login that is a scary one for broadcasters. But as long as your write our CLEARLY why it’s needed then…

Edit: I’ve had a small tinker, I can’t get it to go right now either

Edit 2: when activating did you get a popupblocked?

Edit 3: I think you found a bug, setting scopes in the Dev Panel does not seem to work correctly. cc @rbartlet