我已经开始摆弄 U2F,它看起来很有希望。给自己弄了一些安全密钥并开始深入研究。我设法创建了一个有效的注册/登录演示网站,该网站使用 U2F 令牌和 U2F Chrome 扩展程序运行良好。
然而......这就是我的问题出现的地方:我还为我的 Google 帐户注册了一个安全密钥,并立即被它在不使用 U2F Chrome 扩展程序的情况下工作的事实所震惊。事实上,我已经完成了所有的谷歌注册和登录,甚至没有安装扩展。这怎么可能?我已经阅读了(部分)FIDO 规范,发现可能有两个 API 级别:high - 这是扩展公开的 u2f 命名空间,而 low - 涉及使用 MessagePort API。也许这就是谷歌的做法?(也尝试自己做一个 chrome.runtime.connect(...) ,但 chrome.runtime 对象在我的网页中未定义)
在这一刻,任何指向正确方向的指针都将受到赞赏和巨大的价值,因为在这个名为 U2F 的年轻项目上可用的资源并不多。