Мы разрабатываем приложение Chrome (для Chrome OS), которое должно поддерживать аутентификацию U2F с сервером FIDO, размещенным в App Engine. Мы можем заставить его работать должным образом при запуске приложения в обычном режиме (т. Е. В качестве пользователя), но оно не работает при работе в режиме киоска.
Наш сервер FIDO, размещенный на сервере приложений, генерирует соответствующий код HTML / JSкоторый взаимодействует с нашим приложением для создания рабочего потока U2F с использованием Yubikey. Эта конфигурация работает нормально при установке (неупакованного) приложения на устройстве Chrome разработчика. Однако, если мы устанавливаем приложение с помощью консоли администратора Google в режиме киоска на устройстве Chrome, решение не работает.
В нашем файле manifest.json содержатся следующие записи:
{
"manifest_version": 2,
"name": "FIDO U2F authentication application",
"minimum_chrome_version": "24.0.1307.0",
"version": "0.0.1.3",
"icons": {
"16": "images/icon_16.png",
"128": "images/icon_128.png"
},
"app": {
"background": {
"scripts": [
"main.js"
]
}
},
"permissions": [
"https://our-server-name.appspot.com/*",
"webview",
"appview",
"fullscreen",
"app.window.fullscreen.overrideEsc",
"idle",
"power",
"hid",
"usb",
{
{
"vendorId": 4176,
"productId": 288
}
]
},
"enterprise.deviceAttributes",
"serial"
]
"commands": {
"exit-app": {
"suggested_key": {
"default": "Ctrl+Shift+K"
},
"description": "Exit the app"
}
}
}
В нашем коде приложения весь поток аутентификации U2F должен происходить в компоненте webview, который загружает сервер FIDO, расположенный на appspot.com App Engine
Во время отладки он выглядит так, как будто u2f-apiФайл .js (из реализации Google ref: https://github.com/google/u2f-ref-code/blob/master/u2f-gae-demo/war/js/u2f-api.js) не может получить доступ к свойствам chrome и chrome.runtime (строка 188).
В обычном пользовательском режиме при запуске приложения chrome и chromeСвойства .runtime доступны, в режиме киоска они, по-видимому, недоступны. Из-за этого возможно сбой потока U2F.
В чем может быть причина этой проблемы?
Большое спасибо за предложенияа как это решить.