Quais são as implicações de permitir que usuários oauth2 alterem seus endereços de e-mail?

Estamos usando OAuth2 para manter as contas de usuários sincronizadas com as contas do Fedora. Um usuário observou que não deseja interagir com o Discourse usando o mesmo e-mail, por $REASONS. Quais são as implicações de permitir que os usuários alterem seu endereço aqui? Eles ainda poderão fazer login da mesma maneira? Há alguma armadilha que eu deva ficar atento?

Obrigado!

Eles podem alterar seu endereço de e-mail no Discourse e, em seguida, adicionar o OAuth2 na página de preferências, clicando no link “Adicionar e-mail alternativo”.

Acabei de verificar e fazer login com autenticação Google OAuth2 usando meu endereço secundário me loga nesta conta.

Certo, obrigado. Nós queremos apenas o login via OAuth… isso de alguma forma atrapalha isso?

Não tenho muita certeza. Se eles tentarem fazer login com OAuth depois de alterarem o e-mail e antes de adicioná-lo como secundário, acredito que o sistema tentará criar uma nova conta.

Oh, isso seria ruim! Há, talvez, uma maneira de permitir a adição de um endereço de e-mail secundário enquanto se mantém o principal fixo?

Certo. Eu acho que Você pode adicionar o segundo endereço e depois alternar qual é o principal. Você terá que tentar.

Parece que deve funcionar.

Espere, desculpe, acho que isso não respondeu à minha pergunta. Acredito que não fui claro. No momento, temos a opção email editable desativada. Isso mantém o endereço principal fixo — e impede a adição de um endereço secundário. Parece que alterar o endereço principal causaria problemas (“tentará criar uma nova conta”), então existe alguma maneira de permitir a adição de um endereço de e-mail secundário, que possa ser usado para respostas a mensagens, sem permitir que o principal seja alterado?

Ou você permite que o usuário edite seu endereço ou não.

O endereço principal é aquele para o qual o Discourse envia e-mails.

Desculpe, deixe-me reformular a parte inicial. Ela não se importa que os e-mails vindos do Discourse sejam direcionados para essa caixa de entrada. No entanto, o cliente de e-mail dela não está configurado para enviar mensagens a partir desse endereço. Pelo que entendi, se o endereço habitual dela fosse adicionado como secundário, o Discourse entenderia para associar corretamente as respostas recebidas (que agora estão sendo rejeitadas por não corresponderem ao e-mail dela).

Faz sentido?

Sim, o e-mail secundário deve funcionar aqui, mas não tenho certeza das implicações. Você pode não querer mexer nos e-mails primários. Talvez valha a pena tentar e ver o que acontece?

Obrigado! Existe uma maneira de permitir que os usuários adicionem endereços de e-mail secundários sem permitir a alteração do principal?

Sim, assim que os e-mails forem ativados, você poderá adicionar alternativos nas preferências da sua conta. Experimente no meta.

Mas aqui também posso alterar meu endereço principal, certo? Isso aconteceu no nosso site também — mudei a configuração email editable e agora posso tanto adicionar um endereço secundário quanto alterar o principal. Como faço para que os usuários possam apenas fazer o primeiro?

Desculpe se estou sendo lento!

Acho que não temos essa flexibilidade no momento; o mais próximo que você provavelmente pode fazer é desabilitar a alteração do e-mail primário via CSS.

O OAuth é baseado em uma chave especial, de qualquer forma, então o impacto de alterar o e-mail primário deve ser extremamente baixo. O login continuará funcionando e estará associado à conta principal do Fedora.

Ah, ok. A discussão acima me fez pensar que isso poderia causar contas duplicadas.

Há mais alguma coisa da qual eu deva estar ciente?

Não tenho certeza, mas acho que a única outra coisa da qual você deve estar ciente é que construímos uma interface de administração para mesclar contas… então, no pior caso, se você descobrir um problema, poderá resolvê-lo você mesmo.

Obrigado, Sam. Vamos descobrir!