Ho recentemente avviato un sito e ho riscontrato il problema descritto di seguito.
Problema
Il nome utente ‘賢治’ cambia sempre automaticamente in ‘賢治1’ ogni volta che invio il mio payload single sign on.
Stranamente, il nome va bene come ‘賢治’, ma non il nome utente. Questo mi fa pensare che si tratti di un problema di unicità del nome utente… ma ho controllato la console Rails e non c’è nessun utente con il nome utente ‘賢治’. C’è qualche altro posto che dovrei controllare per il vincolo di unicità? È un problema di caratteri speciali?
Contesto
Ho avviato di recente il mio sito Discourse e originariamente l’avevo avviato senza la casella ‘unicode usernames’ selezionata. Tuttavia, dopo aver aggiornato le impostazioni, ho esaminato e aggiornato gli utenti interessati. L’altro utente con caratteri speciali nel nome non ha avuto un numero aggiunto al proprio nome utente.
Non mi sono imbattuto in questo problema particolare, ma questo…
…mi ha fatto pensare all’impostazione lunghezza minima del nome utente.
Quell’utente aveva più caratteri nel suo nome? Il valore predefinito di lunghezza minima del nome utente è 3, quindi forse impostarlo su 2 risolverà questo problema.
Sono contento che abbia funzionato! Se pensi che alcuni utenti possano utilizzare un singolo carattere Unicode per il nome utente, allora probabilmente dovrai cambiare quell’impostazione in 1; altrimenti non potranno registrarsi a meno che non utilizzino 2 caratteri.