7

我不是 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 oreo)

有什么解决方法吗?

提前致谢!

4

2 回答 2

6

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

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

于 2019-05-22T14:48:35.377 回答
0

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

他们注入了一个 JavaScript 桥,将 navigator.credentials 调用重定向到他们的 FIDO2 实现。对我很有用。

于 2020-12-17T17:58:30.933 回答