認証プロセス内から U2F トークンの登録を許可する機能を備えた独自の SSO サーバーがあります。
この機能は、Chrome を使用する PC (U2F ブラウザー拡張機能の有無にかかわらず) でうまく機能します。また、ユーザーが正常に認証された後、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