Por algum motivo que não compreendo, o Discourse não permite que os usuários conectem ou gerenciem contas externas já conectadas (por exemplo, uma conta do Discord associada). O código do Discourse parece utilizar a seguinte lógica para determinar se um usuário pode ou não atualizar suas contas associadas:
canUpdateAssociatedAccounts(
secondFactorEnabled,
canCheckEmails,
isAnonymous
) {
if (secondFactorEnabled || !canCheckEmails || isAnonymous) {
return false;
}
return findAll().length > 0;
}
Por que secondFactorEnabled é uma variável considerada aqui?
Meus usuários estão muito confusos, pois acabaram em uma situação bizarra. Eles se cadastraram em uma conta em nosso site, associaram sua conta a uma conta do Discord para obter acesso ao nosso servidor do Discord e, em seguida, ativaram a autenticação de dois fatores (2FA) em sua conta. Após fazer isso, toda a seção “Contas Associadas” desapareceu de sua página de conta! Eles não conseguem mais ver ou gerenciar sua conta associada enquanto o 2FA estiver ativado.
Temos outro usuário que ficou muito confuso porque criou sua conta, ativou o 2FA e não conseguiu seguir nossas instruções para adicionar uma conta associada, pois a seção inteira “Contas Associadas” nunca apareceu para ele desde o início.
A única coisa que esses dois usuários têm em comum, em comparação com outros usuários sem o problema, é que ambos têm o 2FA ativado.
Gostaria de oferecer aos meus usuários a opção de tanto ter o 2FA ativado em sua conta do fórum quanto poder associar sua conta a uma conta do Discord.
Estou registrando isso na categoria #suporte, mas não tenho certeza se isso é realmente um Contribute > Bug. De qualquer forma, parece não haver nenhuma solução alternativa sem alterações no código do Discourse.