[SOLVED] current_user works only for creator?

I’m trying to build Patreon support into my application. What I would like to do is give a special feature in my NodeJS application if the current user depending on their pledge tier.

I believe the flow should be:

  1. User logs into my application @ nothic.io
  2. User clicks the “Link my Patreon Account” button
  3. User is redirected to Patreon to give authorization to link accounts and read information
  4. I store token information for this user in my DB so that the user doesn’t need to hit that button every time.
  5. Now, and when the user logs into NothicIO again, we use the token information to pull down what pledge tier they are at, and thus unlocking different services.

I can’t seem to figure out how to get that flow to work though.

I’ve followed the directions at https://docs.patreon.com/#oauth and this works fine when I’m logged into my primary CREATOR account. I could in theory store this token information and use it to access all the campaign information, but this seems wrong to me.

When I try to follow the same path while logged in as my Patreon TEST PATRON account, I get a 403 forbidden. I believe this is because that account is NOT the creator of the campaign.

The reason I want to use the flow as outlined above is that it simplifies my verification of user information. If I have to link/save only my creator account information on the server, then I end up having to do a great deal of parsing and non-secure verification by comparing users/pledges/e-mail addresses.

Hey @dcholth do you mind posting your client ID here (client ID is not really secret info, so should be fine to share)

My guess is something with scopes and data requested, so if you also have the URLs you’re requesting that would be great.

Hey, thanks for the response. I ended up getting this working a few days after I posted this, but I don’t remember exactly what I did… Pretty sure it involved not using much of the official node module (if any) and going straight to my own Axios implementation.