Account WordPress completamente cancellato quando viene modificato il nome utente in Discourse (SSO con WP come provider)

Continuando la discussione da SSO con Wordpress ma gli utenti non possono cambiare il proprio nome utente:

Sto utilizzando il plugin Discourse per WordPress, con WP come provider SSO.

Quando una persona crea il proprio account in WP, ho configurato il sistema in modo che la creazione dell’account avvenga tramite Woocommerce. Ho anche impostato una configurazione che impedisce l’accesso fino a quando l’utente non ha confermato il proprio account WP tramite verifica email.

Quando un utente visita poi i forum, deve cliccare sul pulsante “Accedi”; se l’utente ha verificato l’account ed è già loggato, verrà autenticato su Discourse e il relativo account forum verrà creato automaticamente.

Ho consentito agli utenti di cambiare il proprio nome utente su Discourse.

Quali sono le conseguenze della modifica del nome utente di un utente?

Ebbene, ho notato che ciò che succede su WordPress è che il loro account viene RIMOSSO/CANCELLATO dal mio database Woocommerce/WP. Non è più da nessuna parte.

Poi, quando l’utente tenta di accedere di nuovo, non ci riesce… naturalmente, perché non ha più un account su WP. È questo il comportamento atteso? Qualcun altro ha avuto esperienze simili?!

Nel frattempo ho modificato il “periodo per la modifica del nome utente” impostandolo su “0”.

“Il numero massimo di giorni dopo la registrazione durante i quali gli account possono cambiare il nome utente (0 per disabilitare la modifica del nome utente).”

Se qualcuno desidera cambiare il proprio nome utente, può contattarci e noi lo modificheremo su WordPress in modo che corrisponda a quello sui forum. Sembra funzionare. (utilizzando il plugin Username Changer suggerito da @AdamCapriola qui.)

Le uniche modifiche che il plugin WP Discourse apporta a un utente WordPress, quando WordPress funge da provider SSO per Discourse, consistono nell’aggiungere i campi metadati discourse_sso_user_id e discourse_username all’utente. Per quanto ne so, il plugin non esegue alcuna azione che possa causare la cancellazione di un utente WordPress dal database quando modifica il proprio nome utente su Discourse.

L’unica conseguenza che conosco della modifica di un nome utente su Discourse è che il nome utente di Discourse memorizzato su WordPress potrebbe non essere più sincronizzato con il nome utente effettivo su Discourse. Se ciò accadesse, influirebbe sulla capacità dell’utente di pubblicare post su Discourse. Non dovrebbe causare alcun problema all’accesso tramite SSO. Di certo non dovrebbe causare la cancellazione dell’utente dal database WordPress.

Questo è un problema di WordPress, non di Discourse, ma non consiglierei l’uso di un plugin per sovrascrivere le funzionalità di base di WordPress. I nomi utente non sono destinati a essere modificabili su WordPress. È meglio attenersi a tale comportamento predefinito.