helix icon indicating copy to clipboard operation
helix copied to clipboard

Client does not use AppAccessToken on calls that must use AppAccessToken

Open Cidan opened this issue 4 years ago • 4 comments

When creating a client with both an AppAccessToken and a UserAccessToken, the client favors the UserAccessToken over the AppAccessToken. However, certain Helix API calls require the use of an AppAccessToken, i.e. CreateEventSubSubscription.

The client should automatically use the AppAccessToken field for calls that require AppAccessToken, or otherwise allow AppAccessToken to be passed in per call as in #128.

Cidan avatar Nov 06 '21 21:11 Cidan

Had this issue before as well. From experience it's best and maybe even recommended? To Set the UserAccessToken before you do that request and then clear it again after.

Maybe that's done intentionally since UserAccessTokens and has to be switch for each user anyway, but then It should just be an argument in the function IMO

gempir avatar Nov 09 '21 17:11 gempir

What I ended up doing as a work around is instantiating a second client just for calls that need an AppAccessToken and making sure to never set a UserAccessToken on it. I really want to avoid mutating state where possible in order to reduce possible bugs during concurrency.

Cidan avatar Nov 09 '21 18:11 Cidan

I think the solution here is to implement the proposal in #128.

nicklaw5 avatar Nov 09 '21 18:11 nicklaw5

I think you're probably right.

Cidan avatar Nov 09 '21 18:11 Cidan