我开始尝试U2F技术,结果看起来非常有前途。我买了一些安全密钥并开始深入研究。 我已经成功创建了一个使用U2F令牌和U2F Chrome扩展程序的注册/登录演示网站。
然而......这就是我的问题所在: 我还为我的Google帐户注册了一个安全密钥,并立即发现它可以在不使用U2F Chrome扩展程序的情况下工作。事实上,我已经完成了所有的Google注册和登录,甚至没有安装扩展程序。这是怎么可能的?我阅读了(部分)FIDO规范,并看到可能有两个API级别:高级-即扩展程序公开的u2f命名空间,低级-涉及使用MessagePort API。也许这就是Google的做法?(我也尝试过自己使用chrome.runtime.connect(...),但是我的网页中的chrome.runtime对象未定义)
如果有任何正确方向的指针将会非常感激和有价值,因为关于这个叫做U2F的年轻项目几乎没有什么资源可用。
window.u2f
全局变量,即使在这个Yubico演示网站上或任何其他实现https的网站上也是如此。相反,必须在页面上插入一个与通过chrome.runtime访问的内置扩展进行通信的polyfill脚本 - 起初这并不明显,这就是示例中u2f
似乎来自的地方。 - simbolo