不需要U2F Chrome扩展程序的U2F支持

11

我开始尝试U2F技术,结果看起来非常有前途。我买了一些安全密钥并开始深入研究。 我已经成功创建了一个使用U2F令牌和U2F Chrome扩展程序的注册/登录演示网站。

然而......这就是我的问题所在: 我还为我的Google帐户注册了一个安全密钥,并立即发现它可以在不使用U2F Chrome扩展程序的情况下工作。事实上,我已经完成了所有的Google注册和登录,甚至没有安装扩展程序。这是怎么可能的?我阅读了(部分)FIDO规范,并看到可能有两个API级别:高级-即扩展程序公开的u2f命名空间,低级-涉及使用MessagePort API。也许这就是Google的做法?(我也尝试过自己使用chrome.runtime.connect(...),但是我的网页中的chrome.runtime对象未定义)

如果有任何正确方向的指针将会非常感激和有价值,因为关于这个叫做U2F的年轻项目几乎没有什么资源可用。

1个回答

7

Chrome正在将Google域名列入白名单,非Google域名现在必须使用扩展程序。但是,根据Google的说法,这将“很快”改变 - 这在此处有记录,并由Google开发人员在此网络研讨会中提到

编辑: Chrome 41不再需要扩展程序。您可以在此处进行测试(注意:从旧版本的Chrome访问或未通过HTTPS访问时,该站点将退回使用扩展程序)。


网络研讨会提供了正确的答案:对于谷歌域名,Chrome 在其核心提供支持;对于非谷歌域名,则需要使用扩展程序。然而,在未来几个月内,Google Chrome 将在其核心中加入对所有其他域名的支持。因此,我们就可以告别 U2F 扩展程序的要求了。直到那时……我们只能等待……我认为扩展程序解决方案对于普通用户来说过于繁琐。 - Mihai Caracostea
1
我刚刚编辑了答案。Chrome 41不再需要扩展程序。 - minisu
但它还没有稳定版。 - Xan
好消息!已测试发布的41版本,一切良好,没有任何扩展。干杯! - Mihai Caracostea
Chrome v45仍然没有暴露window.u2f全局变量,即使在这个Yubico演示网站上或任何其他实现https的网站上也是如此。相反,必须在页面上插入一个与通过chrome.runtime访问的内置扩展进行通信的polyfill脚本 - 起初这并不明显,这就是示例中u2f似乎来自的地方。 - simbolo
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接