#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, просто отключите среду виртуальной аутентификации. Надеюсь, это поможет!