Cool. It’s exactly what I want. But Patreon is kind of subset of my application. Could you elaborate the actual usage behind this?
My intention is to build a somewhat integration with Wechat public platform which is quite popular. This platform is too Chinese now so I’ll describe the scenario briefly.
Wechat user can subscribe a Subscription Account
(SA later). Wechat allows SA provides tabs which redirects to a url.
Need: Given a redirection to Discourse with OAuth information, I can determine whether this Wechat user associates with a Discourse account.
Further, it’s the same as Patreon. A wechat user can type commands and receives some notification by a proxy server.
Need: Know whether need to re-authorized based on token expiration; disassociate.
This is still a appealing way to implementation anyway. I could introduce fairly less interface changes in this way. Disassociates comes with a single boolean field which can show some hint for historical connection. Query only requires authenticator name & uid.