WebAuthn isUserVerifyingPlatformAuthenticatorAvailable

#javascript #authentication #webauthn #fido

#javascript #аутентификация #webauthn #fido

Вопрос:

Когда я использую вышеуказанное в Chrome 87 на своем ПК с Windows, я получаю «true»

окно.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() .затем(x=>{оповещение(‘x is ‘ x);console.log(x)})

Тем не менее, когда я запускаю пример, упомянутый в документах https://webauthndemo.appspot.com / и нажмите кнопку ISUVPAA и установите точку останова в строке 421 в webauth.js на другой вкладке и пошаговом переходе он возвращает «false».

Я, должно быть, делаю что-то глупое, но мне было интересно, как вы можете получить «false», когда наверняка доступ к любой цифровой клавиатуре (для ввода PIN-кода) приведет к положительному результату?

Ответ №1:

Я выяснил, что вы получаете «ложный» ответ, если у вас включен WebAuthn DevTools. Я поставил галочку в поле «Включить среду виртуальной аутентификации». Странно?

Похоже, что это связано с галочкой «Поддерживает проверку пользователя» в виртуальном аутентификаторе. Похоже, мне нужно гораздо больше чтения, чтобы получить подтверждение PIN-кода.

Комментарии:

1. Как вы обнаружили, если у вас включена среда виртуальной аутентификации, IsUVPAA вернет true только в том случае, если у вас есть платформа, добавлен аутентификатор с поддержкой проверки подлинности пользователя. Это делается для того, чтобы вы могли протестировать свою страницу с помощью IsUVPAA, возвращая true и false . Если вы хотите попробовать «настоящую» реализацию Windows hello, просто отключите среду виртуальной аутентификации. Надеюсь, это поможет!