Как включить Fido U2F в расширении Chrome, работающем в режиме киоска - PullRequest
0 голосов
/ 02 октября 2019

Мы разрабатываем приложение 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.

В чем может быть причина этой проблемы?

Большое спасибо за предложенияа как это решить.

...