Вход с Passkey не работает при настройке с Nitrokey 3A Mini

Ошибка в логе:

NoMethodError (неопределенный метод hash_function для экземпляра COSE::Algorithm::EdDSA) lib/discourse_webauthn/authentication_service.rb:99:in ‘authenticate_security_key’

Алгоритм COSE Pure EdDSA не имеет функции хеширования — отсюда и эта ошибка. Библиотека cose_ruby действительно поддерживает EdDSA с октября 2022 года. Подробную информацию об использовании EdDSA можно найти здесь.

Полагаю, правильное处理方式 для этого алгоритма — вызывать verify без хеша, как рекомендуется.

1 лайк