我正在为 Android 智能手机开发应用程序,以便通过 NFC 接口使用 FIDO U2F 协议进行 WebAuthn 身份验证。出于参考目的,我使用 Yubikey 5 NFC 令牌。该应用程序创建虚拟令牌并支持 FIDO U2F NFC 协议规范 v1.0。我的应用程序在一些演示站点上进行了测试,例如https://webauthn.org/、https://demo.yubico.com/webauthn-technical/registration,注册和身份验证在我的应用程序中正确进行。然后我在 mail.ru 邮政服务上测试注册和身份验证,一切都是正确的。
最后,我在 Gmail 上打开了两步验证,并成功注册了 Yubikey 5 NFC 令牌和我的应用程序虚拟令牌。然后我尝试使用这两种设备通过两步验证。当我在授权的第二步使用 Yubikey 5 NFC 令牌时,它会正确运行,在带有“确定”标记的对话框后,我单击下一步并进入 Gmail 帐户。但是我的应用程序以非常奇怪的方式未能通过身份验证。在我的应用程序回复身份验证命令并且 Gmail 对话窗口显示“确定”标记后,我单击“下一步”按钮并且没有进入 Gmail 帐户。以下是此过程的 2 个屏幕截图。
带有“OK”标记的对话框:
出现未知问题的对话框:
由于没有任何关于问题的额外信息,我不知道出了什么问题以及为什么在带有 OK 标记的对话框之后我无法进入 Gmail 帐户。您对这个问题或如何获得有关失败原因的额外信息有任何想法吗?
额外信息:我还检查了我的虚拟令牌应用程序以使用fastmail.com电子邮件服务,并且注册和验证都可以。使用Gmail,在进行第二步验证时,它似乎会检查证明证书中的一些信息。如果这是真的,我需要澄清证书中的哪些字段被检查。