Новая функция веб браузеров может создавать помехи для работы NCALayer


Всем привет!

Недавно браузер Chrome представил новую функцию безопасности контролирующую доступ к локальным сервисам и приложениям, она называется LNA (Local Network Access). Эта функция влияет на работу NCALayer - веб сайты не “видят” NCALayer до тех пор пока пользователь явно не предоставит разрешение.

Браузер Firefox тоже уже начал внедрять эту функцию: https://support.mozilla.org/ru/kb/kontrol-prav-dostupa-k-lichnomu-ustroistvu-lokalnoj-seti-firefox

Разработчики NCALayer подготовили инструкцию о том, как настраивать браузеры для того, чтобы веб сайты снова могли работать с NCALayer: https://pki.gov.kz/docs/nl_ru/chromium/

Важно! Данная новая функция разработана для защиты пользователей от реальных угроз, поэтому предоставлять разрешение браузеру на доступ к локальным сервисам и приложениям стоит только на тех сайтах, которым Вы доверяете!

Разработчики информационных систем могут улучшить UI/UX веб интерфейсов информируя пользователей о том, что LNA разрешение не предоставлено или запрещено, для этого следует использовать Permissions API. Полезной будет так же ссылка на спецификацию LNA.

Тем, кто использует разрабатываемую и поддерживаемую нами JS библиотеку с открытым исходным кодом ncalayer-js-client самостоятельно разбираться с Permissions API и LNA не нужно - мы добавили свойство browserLNAPermissionPendingOrDenied позволяющее определить что пользователь не предоставил разрешение, либо запретил его. Таким образом код проверки наличия NCALayer может выглядеть следующим образом:

try {
  await ncalayerClient.connect();
} catch (error) {
  if (ncalayerClient.browserLNAPermissionPendingOrDenied) {
    alert('Пользователь не предоставил разрешение LNA.');
  }
  
  alert('NCALayer не установлен или не настроен.');
  return;
}

Если у Вас возникли какие-либо вопросы, либо предложения, свяжитесь с нами удобным для Вас способом.