Android WebView поддерживает WebAuthn?

Я не разработчик Android и застрял на Android. Я надеюсь, что кто-то здесь может мне помочь.

Я использую WebAuthn/FIDO2 на своем веб-сайте, который отлично работает с браузерами. Но когда я открываю свой веб-сайт в своем приложении для Android (android.webkit.webview), это дает мне ошибку

I/chromium: [INFO:CONSOLE(136)] "Got error-NotSupportedError: The user agent does not support public key credentials." 

Пример кода, который я использую на своем веб-сайте, выглядит примерно так:

navigator.credentials.create({ publicKey })

При открытии https://webauthn.io/ в моем приложении пишет "этот браузер в настоящее время не поддерживается"

Нельзя ли как-нибудь обновить webView?

Я использую версию sdk (API 26, Android 8.0 или oreao)

Есть ли обходной путь?

Заранее спасибо!

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
7
0
2 327
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Проще говоря: это не реализовано и не будет реализовано в Android Webview (источник) по соображениям безопасности.

Чтобы использовать WebAuthn из вашего приложения, вы должны перенаправить в браузер либо напрямую, либо с помощью SFSafariViewController (iOS) или настраиваемой вкладки Android (Android), как описано в RFC8252 — Приложение Б.

Хотя официально это не поддерживается, это можно сделать с помощью стороннего решения: https://hwsecurity.dev/guide/fido-webview/.

Они внедряют мост JavaScript, который перенаправляет вызовы navigator.credentials на их реализацию FIDO2. Отлично работает для меня.

Другие вопросы по теме