Recentemente abbiamo registrato 16 casi in cui utenti provenienti da WordPress sono stati associati all’utente sbagliato in Discourse.
Quando si accede al profilo utente come amministratore, è possibile notare che il record SSO contiene i dettagli dell’utente errato. Eliminando il record, la prossima volta che l’utente effettua il login tramite WordPress, otterrà accesso al profilo utente corretto in Discourse.
Sembra che questo sia legato al tuo problema precedente, che non siamo riusciti a chiarire completamente in precedenza.
Probabilmente c’era una differenza tra l’email nei dettagli SSO e quella nel login in quel caso.
Il problema stesso potrebbe essere lo stesso che quel caso sembrava suggerire:
Sospetto che il problema sia che require_activation è impostato su true nel payload SSO.
Come fai a sapere che i dettagli sono errati? Non sto mettendo in dubbio quanto dici, sto solo cercando di capire da dove possa provenire il problema. Se preferisci non condividere pubblicamente i dettagli, puoi inviarmi un messaggio privato.
Non corrispondevano per gli utenti che hanno effettuato la migrazione. L’ID utente e l’email appartenevano alla persona che stava effettuando l’accesso, ma erano collegati al profilo sbagliato.
Una possibile causa è che, in alcuni casi, un singolo indirizzo email sia associato a più account utente nella tua istanza di WordPress. Pensi che possa essere il caso?
Ad esempio, hai mai utilizzato un processo di registrazione utenti personalizzato in WordPress (che non richiedeva la conferma dell’email prima dell’accesso) o hai mai eseguito un’importazione di utenti in WordPress?
Si tratta di un problema in corso o è limitato a un sottoinsieme di utenti? Questi account sono vecchi o nuovi?
Nessun problema, Angus! Non mi aspetto la tua attenzione!
I account utente vengono creati tramite un acquisto effettuato su WooCommerce. In passato Woo era su un sottosito, ma i siti sono stati uniti. I due siti condividevano una tabella degli utenti, quindi gli ID, almeno in teoria, dovrebbero essere rimasti costanti.
Prima del mio arrivo, l’accesso al sito web era gestito tramite MemberMouse. Da allora – circa 5 anni fa – l’accesso è stato controllato da iMember360 e recentemente sostituito con Memberium, entrambi plugin essenzialmente identici che si integrano con un CRM chiamato InfusionSoft e permettono l’accesso a varie pagine in base ai dati del CRM.
Il funzionamento di questi plugin richiede un indirizzo email univoco, quindi è impossibile che lo stesso indirizzo email venga utilizzato per più utenti.
È un problema ricorrente, ma sembra limitato a un numero molto ridotto di utenti. È capitato a due utenti “vecchi” e recentemente a un account di 5 giorni, quindi non è un problema solo per i nuovi utenti.
Questo è un caso piuttosto insidioso. Ho alcune teorie su come require_activation potrebbe essere impostato su true nella tua configurazione e, di conseguenza, causare questo problema, ma ci sono diverse opzioni tra cui scegliere.
Sto attualmente completando una nuova suite di test per il plugin WP Discourse e sto aggiungendo la registrazione delle funzionalità SSO. Sto scrivendo una registrazione aggiuntiva che dovrebbe individuare la causa di questo problema. Questo lavoro verrà integrato nel plugin nel corso del prossimo mese, quindi dovremmo avere una risposta più chiara a breve.