Contas associadas desativadas quando o segundo fator está habilitado

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.

2 curtidas