5

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

此功能在使用 Chrome(带有或不带有 U2F 浏览器扩展程序)的 PC 上运行良好。在用户成功通过身份验证后,在 Chromebook 上的浏览​​器中使用它也能正常工作。

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

但是,签名请求并非如此(在使用 PC 注册后进行身份验证时)。当我们向我们发送请求时,u2f_sign_request我们成功地收到了onMessage回调消息。

有没有人遇到过这个问题?或者知道可以让我们在身份验证过程中执行注册的解决方法?

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

// 1. 连接到扩展

var port = chrome.runtime.connect("kmendfapggjehodndflmmgagdbamhnfd", {'includeTlsChannelId': true});

// 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});
});

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

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

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

Chromebook 信息如下:

Google Chrome 版本(和 Chromebook 信息)
版本:43.0.2357.125
框架版本:6946.58.0(官方构建)稳定通道 kip
软件版本:Google_Kip.5216.227.5
启动模式:已验证
型号:HP Chromebook 11 2100-2199 / HP Chromebook 11 G3

4

0 回答 0