随着最近关于 FIDO U2F 规范的所有讨论,我想在测试平台上实现 FIDO U2F 测试,为即将推出的最终规范做好准备。
到目前为止,我有一个由 Yubico 生产的 FIDO U2F 安全密钥和安装在 Chrome 中的 FIDO U2F(通用 2nd Factor)扩展。我还设法设置了安全密钥以使用我的 Google 登录。
现在,我不确定如何将这些东西用于我自己的网站。我浏览了 Google 的 Github 页面以了解 U2F 项目,并检查了他们的网络应用程序前端。它看起来非常简单(仅限 JavaScript)。那么使用 FIDO 实现第二因素身份验证就像实现几个 JavaScript 调用一样简单吗?示例中的注册似乎发生的所有事情都是这样的:
var registerRequest = {
appId: enrollData.appId,
challenge: enrollData.challenge,
version: enrollData.version
};
u2f.register([registerRequest], [], function (result) {
if (result.errorCode) {
document.getElementById('status')
.innerHTML = "Failed. Error code: " + result.errorCode;
return;
}
document.location = "/enrollFinish"
+ "?browserData=" + result.clientData
+ "&enrollData=" + result.registrationData
+ "&challenge=" + enrollData.challenge
+ "&sessionId=" + enrollData.sessionId;
});
但是我如何自己使用它来实现呢?我可以使用此方法调用的回调进行用户注册吗?