SakeTami
steam250
steam250

patreon


Patreon account linking

In August we brought you two major new features: cross-site synchronised Steam login and the poster-child for this month's update, Patreon account linking!

Synchronised Steam login

Synchronised login means that when you log in or out with Steam, no matter whether you do so from Steam 250 or Club 250 domains, your login will automatically be synced on both sites at once. So that's pretty neat. Ultimately this is probably what most people expect to happen but it was technically quite challenging to pull off. Many things would be a lot simpler if we simply combined both parts of the site into one, but I'm not ready to do that just yet.

Patreon account linking

Patreon account linking is now available from your account page, after signing in. Please give it a try and let me know if it works for you. This feature took all month because it was technically challenging too. The actual account linking part was straightforward, especially since we could reuse most of the code from when we had Patreon logins, but it goes a lot deeper than that (details in the next section).

You will notice the benefits conferred from linking your account are incredibly lacklustre at the moment: we simply disable ads and nags for you, but even that is currently limited to just the Club 250 pages, for now. Of course we will roll out ad disabling site-wide and bring you more benefits very soon. I also acknowledge the profile page is a mess at the moment and will be iteratively improved as we go!

This feature is still not finished, as if your membership ends or your tier changes, this is currently not reflected in your active session. In case you do upgrade your tier and you want to see that change reflected on the site, currently you must unlink and relink your Patreon account. We will be working on a sync feature, both manual and automatic, to ensure this is not necessary in future, but working with the unmaintained Patreon API is difficult, so we're still figuring out the best way to approach this. If you observe any other weird behaviours be sure to let me know!

Technical mumbo-jumbo

For those interested in the technical details, we wanted to implement a limited trust system for user session cookies that would not require a database call on every page load for logged-in users, to improve performance. The trust period is on a time-limited lease, and once the lease expires, it may be automatically renewed or your session may be permanently dropped, depending whether your roles have changed since last lease. If it automatically renews, this is transparent to the user and you won't even know it's happening. If your session gets dropped, you must log in again. This requirement itself was quite complex and warranted automated tests to guarantee correct operation now and in the future; something we've been a bit lax about hitherto.

Speaking of roles, we have to ensure your Patreon tier is recognized as the appropriate user role in our system, and that user roles of linked accounts are merged with top-level accounts (i.e. your Steam account). Those who pledged early and have been promised founder accounts will be getting that special role added to their top account soon!

There is also the option to unlink your account once it has been linked. This is necessary to change the Patreon account linked to your Steam account, and to help mitigate an edge case where someone might otherwise try to assign multiple Patreon accounts to one Steam account (this is invalid). Another edge case is people who might link their Patreon account to multiple Steam accounts to share their benefits with many people, which is not allowed, so we added checks to prevent this.

That's all for this time. Looking forward to your feedback!

Bilge

Patreon account linking

More Creators