Merging (on the forum side) duplicate accounts

Continuing the discussion from Minor questions about forum usage:

Example case desired to be merged: @alignwaivers and @align_waivers

The function is possible in Discourse if imperfect and slightly messy:

But we have our SSO and do not yet support multiple emails for the same Snowdrift.coop account. So, we can’t really deal with this until we understand how merging would relate to the main accounts.

1 Appreciation

Thanks for the insights, although i’m uncertain what it means to ‘execute rate’, or where that command can be applied in order to merge the accounts. Can someone help me clarify?

For reference, I want the account to be @alignwaivers rather than the other

Merging the two is not something the user can do themselves. It’s something we need to do on the admin (or even sysadmin) side. And we can’t try it until we’re clear about how it relates to SSO.

We should look into whether we can (feel free to investigate yourself on the meta Discourse forum) at least disable an account for now so that the extra doesn’t show up when we do @ mentions or so on…

1 Appreciation

Suspending an account doesn’t remove it from being listed in mentions autocomplete (just tested, deleting might do it), and there is no option in the panel to merge accounts. Merging would have to be done from the command line.

Aiui, SSO uses email as the identifier, so you just need to ensure the desired Discourse account has the same email as registered on the main site. (This should apply to all active accounts by now.)

This should work: ask the user to log out of Discourse/the main site, (assuming the target account already uses the SSO email) have sysadmin merge the accounts, then ask user to log in again.

Well, how does it work from the SSO side? Merging in Discourse might list both emails under one account. Would it then work to log in with either email in SSO? Currently, we have no way to have multiple emails for a single main site account — and we may not want to support the separate accounts (see https://community.snowdrift.coop/t/our-updated-terms-of-service-do-not-allow-multiple-accounts/1021)

So, before we actually do any merging, we should figure out the holistic interactions.

If merging in Discourse lists both emails under the target account, it should be trivial to remove the second one before having the user log in again (there are two ways to do this, e.g. from CLI).

There’s currently no way for users to add multiple emails from the UI (despite showing a “secondary email” field, it’s done from the CLI), and no way for the user to change their email either with SSO on and set to override email.

Not with SSO set to override email. It’ll use the email from the SSO provider, not Discourse.

Note: in this case, after some clean up (changing ownership of posts), we just deleted the duplicate account entirely. We could have stuck with suspension but there was no reason to keep it around. Not sure if that means accidental log-in with the email would create a new account again, but it’s not a risk in this case.