2

我开发了一个 Web 应用程序,它使用 WebAuthn API 使用硬件安全密钥进行身份验证。它工作正常。

我正在尝试使用兼容 IOS 和 Android 的 Flutter 本地实现它。这些平台是否有任何库或起点?我不想使用 ChromeTabs 或 SFSafariViewController。

请指教。

4

2 回答 2

1

对于 Android,您有他们的FIDO2 API。一些示例代码实验室和实现已经存在:

  1. 代码实验室
  2. 科特林示例
  3. 爪哇例子

然而,在 iOS 上,FIDO2 仅在 Safari 浏览器中受支持(不确定其他浏览器),并且仅从 iOS 13.3 开始(链接)。

您可以考虑在 Android 上使用本机 FIDO2 API,并在 iOS 上打开 Safari,直到添加了底层平台支持。

但是,正如@mackie 所指出的,如果您在 OAuth 流程的身份验证部分使用 FIDO2,推荐的路径是使用带有 ASWebAuthenticationSession 或 Chrome 自定义选项卡的 Web 浏览器。

于 2021-06-06T09:48:58.363 回答
0

您应该打开一个浏览器窗口以获取用户身份验证,并在成功登录后使用 my-app://myapp/auth/succeed=true&token=xyz 作为重定向 url(私有使用 URI 方案重定向),然后为您注册该 url 模式应用程序“我的应用程序”作为协议。浏览器将使用给定的重定向 url 自动打开您的应用程序,您必须处理该 url 以使您的应用程序处于适当的状态...

于 2020-09-11T19:16:13.707 回答