无法从Chromebook登录窗口注册U2F令牌

use*_*420 5 javascript authentication google-chrome-os chromebook fido-u2f

我们有自己的SSO服务器,它具有允许在身份验证过程中注册U2F令牌的功能.

此功能适用于使用Chrome的PC(带或不带U2F浏览器扩展程序).在用户成功通过身份验证后,在Chromebook上的浏览器中使用它也很有效.

但是,当我们在Chromebook上启用SSO并尝试在身份验证过程中注册U2F令牌时,注册似乎不起作用.经过一些调试后,我们发现onMessage在向u2f_register_request通道发送U2F寄存器请求后没有调用事件监听器.

但是,对于签名请求(在使用PC注册后进行身份验证时)也是如此.当我们发送请求时,u2f_sign_request我们在onMessage回调上成功收到消息.

有没有人遇到过这个问题?或者知道可以让我们在认证过程中进行注册?

以下显示了用于发布到频道的一些代码:

// 1.连接到扩展

var port = chrome.runtime.connect("kmendfapggjehodndflmmgagdbamhnfd", {'includeTlsChannelId': true});
Run Code Online (Sandbox Code Playgroud)

// 2.绑定回调函数

port.onMessage.addEventListener(function(message) {
// this callback not been invoked if post 'u2f_register_request' message to channel in chrome OS login page
     handler({'data': message});
});
Run Code Online (Sandbox Code Playgroud)

// 3.将消息发布到扩展名.

port.postMessage({
     type: 'u2f_register_request',
     signRequests: signRequests,
     registerRequests: registerRequests,
     timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ?
     opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC),
     requestId: reqId
});
Run Code Online (Sandbox Code Playgroud)

使用的代码可以在(https://github.com/Yubico/java-u2flib-server/blob/master/u2flib-server-demo/src/main/resources/assets/u2f-api.js)找到.

Chromebook信息如下:

谷歌Chrome版本(和Chromebook信息)
版本:43.0.2357.125
框架版本:6946.58.0(官方版本)stable-channel kip
软件版本:Google_Kip.5216.227.5
开始模式:已验证
型号:HP Chromebook 11 2100-2199/HP Chromebook 11 G3