Two-way Sync Between WP Discourse Username and Discourse Username?

We are actually overriding this behavior with the wpdc_sso_params filter hook because our SSO system integrates Firebase and everyone’s WP username defaults to their Firebase UID, so we are changing the Discourse default to be memberXXX (with XXX being a number). We actually want to change this default to be the user’s Firstname_Lastname at some point as well. But yes our primary concern is users being able to change their username easily via their profile page within our Wordpress site.

In this case I am thinking we can either store the username field and have it sync when the account is created (via the wpdc_sso_params filter hook on the first SSO), or we could force a Discourse account to be created for every member when they sign up on our Wordpress site via the Discourse API. The second option would probably be more advantageous because we would know that everyone has a Discourse account and there would thus be fewer special cases of some users having accounts and others not. But we are really going for a seamless experience, so we want this username to be what the user thinks of as their username for our entire platform. We want it to always be editable, and in the future we will probably use it for more than just Discourse (i.e. in leaderboards, etc.).

Yes this is exactly what we need!

Understood! Thanks for this direction, my team and I will work on testing this with our implementation first and should make a PR soon!