ID do Discourse e 2FA

@JammyDodger, recentemente registrei uma conta para uma instância gratuita:

Lá, parece que estou experimentando isso:

A maioria da documentação indica que isso deve estar ativado por padrão:

No entanto, não tenho nenhuma opção para ativá-lo, e ele não está ativado por padrão:

Movi sua postagem para cá, pois se trata de um problema diferente do que você postou originalmente em Contribute > Bug.

O Discourse ID não está usando OAuth2. Ele funciona, na prática, como um provedor de SSO, o que é diferente.

Para configurar a autenticação de dois fatores (2FA), você precisará fazê-lo no provedor de SSO, ID. Especificamente em https://id.discourse.com/my/preferences/security.

@jomaxro, obrigado. Talvez o que me confundiu foi que tentei definir enforce_second_factor como “all”, mas não consegui, pois fui informado de que “Você não pode exigir 2FA se logins locais estiverem desativados.” Se não for muito fora do tópico, qual é a solução para isso?

Essa é uma boa pergunta… e uma para a qual não tenho a resposta. Enviei para a equipe para encontrar alguém que tenha!

Então, fui corrigido pela equipe. O Discourse ID realmente usa OAuth2 por trás dos panos — peço desculpas. Achei que ele estivesse usando um protocolo diferente.


Sobre sua pergunta, não suportamos 2FA com logins externos. Como a mensagem que você viu indicou, o 2FA não pode ser imposto sem que os logins locais estejam habilitados. Nós dependemos do provedor de login externo (Discourse ID, neste caso, mas isso se aplica a todos os provedores externos) para gerenciar o 2FA, incluindo sua imposição.

@jomaxro, isso significa que, com o plano gratuito de teste, não posso modificar essa preferência? Alternativamente, consigo desconectar de alguma forma o Discourse ID?

Quer confirmar: você está se referindo a um teste gratuito ou ao plano gratuito?

@jomaxro, desculpe. Plano gratuito, creio eu:

Pergunta para nós: O IdP transmite ao SP a informação de se o usuário realizou ou não a MFA?

Estou pensando em um mecanismo análogo ao U2F / FIDO — o programa pode solicitar uma atestação do dispositivo sobre o nível de interação do usuário esperado ou necessário para a credencial.

Se o Discourse ID… ou, de forma semelhante, qualquer outro IdP (SAML? oAuth2? OIDC?) transmitir essa informação ao SP, seria uma informação que poderíamos potencialmente utilizar.

Caso contrário, ficamos meio presos na necessidade de implementar a MFA após o login federado para obter essa garantia.