Поддержка входа по WebAuthn / Passkeys в Wiren Board HomeUI

Предлагаю добавить в Wiren Board HomeUI опциональную поддержку WebAuthn и ключей доступа (passkeys).

Реализация позволяет входить в HomeUI с помощью:

  • Touch ID;

  • Windows Hello;

  • системной блокировки Android;

  • аппаратных ключей безопасности.

Вход по паролю сохраняется как резервный способ авторизации. Для существующих установок поведение не изменяется: WebAuthn отключён по умолчанию и включается только после настройки RP ID и HTTPS origin.

Регистрация и удаление ключей выполняются самим пользователем в окне редактирования своей учётной записи. Секретный ключ при этом не передаётся контроллеру — используется стандартная процедура WebAuthn через системное окно браузера.

Реализация включает:

  • backend на базе python3-fido2;

  • хранение публичных учётных данных WebAuthn;

  • проверку RP ID, origin, challenge, владельца ключа и счётчика подписей;

  • интерфейс регистрации и удаления ключей;

  • вход по passkey;

  • русскую и английскую локализацию;

  • настройки NGINX и Debian-зависимостей;

  • документацию по настройке HTTPS и восстановлению доступа;

  • автоматические тесты.

Функция проверена на реальном контроллере Wiren Board 8.5 со следующей версией системы:

Wirenboard release unstable.latest (as testing), target wb8/trixie

Backend- и frontend-тесты, TypeScript, ESLint и production build проходят успешно.

Черновой pull request:
https://github.com/wirenboard/homeui/pull/1203

Здравствуйте! Я — автоматический помощник техподдержки Wiren Board.
Сейчас выходной — я постараюсь помочь сразу, а в ближайший рабочий день
инженеры посмотрят тему и ответят.

Предложение по поддержке WebAuthn / Passkeys в HomeUI принято к рассмотрению. Черновой pull request доступен по ссылке: wirenboard/homeui#1203.

В текущем коде HomeUI и доступных материалах Wiren Board подтверждённой информации о включении этой функции в стабильные релизы не найдено. Поэтому пока не следует рассчитывать на поддержку WebAuthn без установки соответствующей версии HomeUI и отдельной настройки HTTPS, RP ID и origin.

Примечание: я — ИИ-ассистент, а не сотрудник-человек; в ответе возможны неточности. Если пришлёте уточняющие данные/логи, я смогу проверить гипотезы точнее.

Здравствуйте!

Благодарю за проверенное решение!

Добавил в список предложений для разработчиков. При планировании релиза оно будет рассмотрено.