Funcionalidade: criar nome de usuário padrão a partir da parte do usuário do e-mail ao usar Google OAuth2/SSO

Espero que não haja problema em postar solicitações ou sugestões de recursos aleatórias aqui.

Configurei uma instância do Discourse para que os usuários possam autenticar-se usando um Domínio Hospedado do Google Apps (no meu caso, @vt.edu). Percebi que o Discourse atribui nomes de usuário combinando o nome e o sobrenome obtidos via OAuth2 — por exemplo, Nome_Sobrenome.

O que eu preferiria muito mais é que o nome de usuário proposto correspondesse à parte do usuário da conta de e-mail usuario@vt.edu, já que usuario é um identificador usado em outros lugares, enquanto Nome_Sobrenome não é. Além disso, Nome_Sobrenome não garante unicidade (Joao_Silva), ao passo que o ID do usuário é único. Para o meu caso de uso, isso ajudaria no plugin Data Explorer, quando preciso correlacionar estatísticas com outros registros, e proporcionaria uma experiência mais uniforme no geral.

1 curtida

Acredito que o @andrei removeu isso completamente, pois havia implicações de privacidade ao criar um nome de usuário “automaticamente” com base no e-mail?

1 curtida

Na verdade não. Não estamos removendo isso, apenas desabilitando com a capacidade de ativá-lo usando a configuração do site use_email_for_username_and_name_suggestions.

Além disso, observe que essa alteração é feita para o DiscourseConnect, mas não para outros métodos de autenticação (incluindo autenticação via Google). Mas a correção para outros métodos está chegando em breve.

Além disso, ao gerar o nome de usuário, o nome completo tem prioridade sobre o e-mail; os autenticadores tentam usar o e-mail para sugestões de nome de usuário apenas se os campos username e full-name no payload estiverem vazios. Isso é algo que pode ser personalizado com um plugin. Mas usar o e-mail como fonte principal para sugestões de nome de usuário não é algo que queremos fazer por padrão, especialmente para autenticação via Google. O motivo é que, neste caso, é possível descobrir os e-mails de todos os usuários no fórum apenas adicionando @gmail.com aos nomes de usuário.

1 curtida