我不是一名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)
有什么解决方法吗?
谢谢!
答案 0 :(得分:1)
简而言之:出于安全原因,它不会在Android Webview(source)中实现。
要从应用程序中使用WebAuthn,您必须直接重定向到浏览器,或者使用SFSafariViewController(iOS)或Android自定义标签(Android)重定向,如RFC8252 - Appendix B中所述。
答案 1 :(得分:0)
虽然它不受官方支持,但可以使用第三方解决方案:https://hwsecurity.dev/guide/fido-webview/
他们注入了一个JavaScript桥,该桥将navigator.credentials调用重定向到其FIDO2实现。 对我来说很棒。