O Discourse vem com seu próprio sistema de autenticação integrado diretamente ao webauthn para 2FA. Acho que a única grande lacuna que temos agora é que não permitimos que o 2FA seja o único fator (opcionalmente).
Espero poder tornar isso uma opção para o Discourse também, eu realmente odeio senhas e 2FA + desafio apenas para mim parece inerentemente melhor do que senha, com certeza.
Complicado, depende de quão fundo no buraco do coelho você quer ir. Uma solicitação de pull de protótipo que adiciona uma configuração de site seria excelente, mas entendo totalmente que isso pode ser um grande compromisso de tempo.
Uma atualização rápida: o suporte para passkeys no Discourse estará disponível em breve. Tenho trabalhado nisso nas últimas semanas e temos alguns rascunhos de PRs prontos. Veja #23586, #23587 e #23591.
Acho que em cerca de 3-4 semanas, poderemos mesclar isso (atrás de uma configuração de site padrão desativada). E se concedermos mais algumas semanas para testes e correção de bugs, suspeito que poderemos ter isso pronto para produção em cerca de dois meses. Fique ligado!
Acabei de ativar a configuração do site e adicionei uma chave de acesso à minha conta em um fórum que ajudo a gerenciar, e isso parece funcionar perfeitamente. Para ativá-lo antecipadamente em um site, isso deve funcionar:
cd /var/discourse
./launcher enter app
rails c
SiteSetting.experimental_passkeys=true
Uma vez ativado, parece que você só precisa acessar https://forum.example.com/my/preferences/security e adicionar uma chave de acesso, depois sair e usar a opção Login with a passkey para fazer login novamente.
Olá pessoal, sim, mesclamos alguns PRs adicionando suporte a passkeys e já estamos testando internamente.
As etapas acima estão corretas, se você quiser ser um testador muito, muito inicial do recurso. Ainda estamos ajustando algumas coisas e uma atualização/anúncio oficial está chegando em breve.
Mais uma atualização aqui antes de fazer um anúncio oficial: as senhas estão habilitadas aqui no meta. Por favor, experimente e relate quaisquer problemas como respostas neste tópico.
Nosso plano é continuar testando o recurso por mais uma semana ou mais sob o sinalizador experimental. Em seguida, anunciaremos oficialmente e removeremos a configuração experimental do site (ou seja, o suporte a senhas será habilitado por padrão em todas as instâncias que usam logins locais).
Testei no Desktop (Windows 11, Chrome) e funcionou perfeitamente!
Tive que clicar em Enviar E-mail de Redefinição de Senha para confirmar minha identidade porque geralmente faço login com o Google, então não sei minha senha.
Testei no Android (10) e no Chrome/App. Funciona bem, porém:
Tocar no campo de entrada aciona o modal da chave de acesso (passkey).
Ignorar e tocar no campo de entrada novamente me permite digitar.
Tocar no botão não faz nada (além de selecioná-lo e fechar o teclado).
Obrigado pelo relatório @Arkshine, eu tinha esquecido de incluir uma pequena alteração no componente móvel em um commit dois dias atrás. Um erro constrangedor, o botão não fazia nada em todos os dispositivos móveis.
De qualquer forma, está corrigido agora, acabei de testar no meu Android, e deve funcionar para você também.
Parece que um sistema ChromeOS não pode ser usado como chave de acesso com o Discourse (embora possa ser usado como uma em outros sites), isso é intencional?
Não estamos bloqueando especificamente, não. O que é exatamente um “sistema chromeos”, é o Chrome no ChromeOS? Você pode compartilhar o navegador e a versão do sistema operacional?
Ah, interessante, obrigado pela captura de tela. Suspeito que o dispositivo não suporte verificação de usuário? Você pode usar touch/faceId ou um PIN para desbloquear o dispositivo?
De acordo com esta página, parece que o suporte do Chrome OS é irregular.
Eu uso uma senha. Pode ser útil notar que posso adicionar este dispositivo como um método de 2FA a uma conta usando webauthn, apenas não consigo adicioná-lo como uma passkey.