我尝试在我的 Web 应用程序中实现 U2F。由于该应用程序可用于多个 URL,因此我必须添加一个具有有效 FacetID 的 JSON 文件,如规范中所述。Yubico 在他们的网站上对该规范有一个简短的总结。
不幸的是,当我调用u2f.register(...)
Method 时,我得到错误代码 2,这意味着 AppID 有问题。
我的 AppID 是 JSON 文件的 URL。如规范中所述,我添加application/fido.trusted-apps+json
为内容类型。无论如何,这个 URL 永远不会被调用。
我正在使用最新的 Chrome (v46.0.2490.80m)。如此处所述,不再需要 Chrome 扩展程序。
此外,我在 Chromium 项目上发现了一个已关闭的错误报告,它告诉我 U2F 是根据规范实现的。
我使用的是u2f-api.js而不是 Chrome 扩展程序。
这是 u2f-api.js 的问题吗?有更新的吗?
到目前为止,这是我的代码:
var u2frequest =
[
{
"appId":"https://localhost:44300/api/u2f/appids.json",
"challenge":"hDharTG-SROuScxyD7ACpMDp4xl6A91E9nUPXDRSo_4",
"version":"U2F_V2"
}
];
u2f.register(u2frequest, [], function (data) {
// I always get data={errorCode:2} here.
}