Android WebView 支持 WebAuthn?

Android WebView Support 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/,说 "this browser isn't currently supported"

我们不能以某种方式更新 webView 吗?

我使用的是sdk版本(API 26,Android 8.0 oreao)

有什么解决方法吗?

提前致谢!

简单地说:出于安全原因,它不会也不会在 Android Webview (source) 中实现。

为了在您的应用程序中使用 WebAuthn,您必须直接重定向到浏览器或使用 SFSafariViewController (iOS) 或 Android 自定义选项卡 (Android) 作为在 RFC8252 - Appendix B.

中解释

虽然官方不支持,但可以使用第三方解决方案来完成:https://hwsecurity.dev/guide/fido-webview/

他们注入了一个 JavaScript 桥,将 navigator.credentials 调用重定向到他们的 FIDO2 实现。 非常适合我。