In order to create a reward
you will need a user access token, a token that represents a user
You will also need to request the channel:manage:redemptions scope/permission
This oAuth flow will give you a token that represents the user.
You can then use this token with Get Users
To get the UserID of that token.
Then you can create and manage your reward(s) on that users channel.
I’m assuming you will use EventSub for this.
Event Sub ONLY uses App Access Tokens.
The Event Sub topic is
This topic, first requires the user to have granted access between the user and your ClientID using the User Access Flow (either regular as linked above in this post, or implict which I gave an example to earlier) with either the scope
channel:read:redemptionschannel:manage:redemptions
But since the user already authentcated earlier to allow you to create a reward with the channel:manage:redemptions scope, we already did this step.
EventSub will take the app access token you create the subscription with, confirm the clientID then see if the clientID has a connection to the requested user.
SO, TLDR, user logs in to the application as themself with the required scope.
You check if your reward exists and creates it if needed, using the user token
At the same time check/create your eventsub subscriptions for the reward add topic, using the app token.
That is the loooooong version