Estou enfrentando um problema estranho - não consigo registrar Yubikeys (estou usando a série 5 e tenho 4 delas) como passkeys em nenhum fórum discourse. Consigo registrar a passkey do meu celular Android e a passkey do meu Gerenciador de Senhas com sucesso.
Quando tento registrar a Yubikey, recebo o erro abaixo, sempre:
No entanto, uma chave residente é criada na minha Yubikey. Confirmo isso com ykman fido credentials list.
Essa chave, obviamente, não funciona quando tento fazer login novamente.
Posteriormente, tentei registrar a chave em minha própria instalação do discourse para verificar os logs e este é o erro que vejo:
COSE::MalformedKeyError (Entrada de chave CBOR malformada) lib/discourse_webauthn/registration_service.rb:161:in `extract_public_key_and_credential_from_attestation' lib/discourse_webauthn/registration_servic
Gostaria de entender se este é um problema conhecido, pois não encontrei nada no fórum sobre a Yubikey não funcionar. Se não for, ficarei feliz em compartilhar quaisquer detalhes adicionais que possam ser necessários.
Você pode registrar essas yubikeys em um aplicativo de senhas que não seja do Discourse, como Github, Google ou uma implementação de teste como https://www.passkeys.io/?
@pmusaraj Sim, registrei-os com sucesso no Google, GitHub, Vercel e em alguns outros serviços e eles funcionam bem.
@sam O Yubikey Série 5 é um bom candidato para passkey porque combina algo que eu sei (PIN) e algo que eu tenho (o próprio token) para usar como passkey. Ele nem lista as chaves residentes sem o PIN. A série bio substitui o PIN pela biometria.
Obrigado por verificar, @rishabhlakhotia. Vejo os erros em nossos logs no meta e a localização dessa falha é uma função geral de atestado de chave de segurança que não sofreu alterações nos últimos quatro anos. Ela também é usada pelo processo de chave de segurança 2FA.
Você consegue registrar a Yubikey como uma chave de segurança de autenticação de dois fatores aqui no meta?
Qualquer Yubikey com chaves residentes deve ser adequado, pois o navegador pode impor autenticação multifator nele: tanto a verificação de presença (tocar na chave) quanto a configuração do PIN do Yubikey.
Sim, tenho todas as quatro Yubikeys registradas como Chaves de Segurança. Para possivelmente evitar quaisquer casos extremos, tentei novamente removendo duas delas como chaves de segurança para registrá-las novamente como passkeys, mas mesmo isso não funcionou.
Eu tenho YubiKey 5C NFC (5.4.3), e uso o navegador Chrome.
ATUALIZAÇÃO: Graças à resposta de @supermathie, acabei de baixar o Firefox e tentei registrar a Yubikey e funcionou. Consegui registrar a mesma chave que estava dando erro no Chrome.
Curiosamente, uma vez registrada no Firefox, pude fazer login usando a mesma Yubikey no Chrome. Repeti o mesmo processo mais uma vez no Chrome, mas obtive o mesmo erro, mais uma vez.
Encontrei o mesmo problema agora com um YubiKey 5C NFC (5.4.3) e um YubiKey Security Key (os azuis) com o Navegador Arc, ou seja, Chromium (122.0.6261.57) no macOS.
Fiz o mesmo com o Safari e funcionou perfeitamente. E assim como no seu caso, usar essas Passkeys não apresentou problemas com o navegador Chromium também.
Olá, fico muito feliz por ter encontrado este tópico! Eu estava tentando desesperadamente adicionar minha YubiKey em uma instância do Discourse, o que não estava funcionando corretamente — então pensei, bem, talvez esses caras estejam auto-hospedando e tenham algum erro de configuração. Então pensei que poderia pesquisar no Google — e vi que meta.discourse.orgparecia ter mencionado isso em algum momento.
Infelizmente, minha tentativa de configurar as coisas no Brave (Chromium) falhou completamente, como antes, e assim como o OP relatou.
Aqui está minha configuração:
macOS Big Sur 11.7.9 (20G1426) rodando em um antigo MacBook Pro da Apple.
YubiKey 5 NFC Firmware: 5.4.3
Navegadores:
Brave [Chromium] Versão 1.73.91 Chromium: 131.0.6778.85 (Build oficial) (x86_64)
Safari: [WebKit] 16.6.1 (16615.3.12.11.5, 16615)
Firefox: [Gecko] 133.0
Microsoft Edge: [Chromium] Versão 131.0.2903.70 (Build oficial) (x86_64)
Então, eu abri o Safari, procedi para adicionar uma chave de acesso, comecei com uma chave de acesso baseada em software, que o Safari gostou e o Discourse aceitou; em seguida, adicionalmente, tentei adicionar a YubiKey 5 NFC como uma chave de acesso e como uma confirmação adicional de 2FA — e o Discourse não teve problemas em aceitar tudo!
Uma vez configurado, testei com o Firefox, e funcionou imediatamente; o mesmo aconteceu com o Microsoft Edge. E, ao retornar ao Brave, ele agora funcionou com a YubiKey sem nenhum problema.
Parece que o único problema que o Discourse tem é com a comunicação inicial com a chave (ou, melhor dizendo, o que quer que permita que a chave seja ‘visível’ para o navegador) em navegadores baseados em Chromium. Uma vez que essa chave é atribuída ao Discourse, ela será facilmente aceita por qualquer outro navegador. Eu não testei no Safari para iOS (a YubiKey 5 NFC definitivamente funciona com ele também), mas suspeito seriamente que não haverá problemas lá também.
Agora terei que voltar a essas muitas configurações do Discourse em que me juntei sem sucesso e ver se elas funcionam agora!