Files
shd-desktop-app/Windows/README.md
T
bulava92 9074b82c0c
Windows desktop build / publish (push) Canceled after 0s
Document desktop clients and align passkey client ID
2026-10-28 16:19:19 +03:00

32 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SHD для Windows
Windows-клиент — отдельное WPF-приложение на .NET 10 с Microsoft Edge WebView2. Оно хранит профиль сайта локально, поддерживает DEV и PROD, вкладки и окна, загрузки, печать, масштаб, системные диалоги сайта, доступ к камере и микрофону для доменов SHD и инструменты разработчика.
## Установка
1. Скачайте `SHD-Windows-x64.zip` из артефактов успешной сборки **Windows desktop build** в GitHub Actions и распакуйте архив. Если успешной сборки ещё нет, соберите ZIP по инструкции ниже.
2. Откройте PowerShell в распакованной папке и выполните `powershell -ExecutionPolicy Bypass -File .\install.ps1`. Скрипт установит приложение в `%LOCALAPPDATA%\Programs\SHD`, добавит ярлык в меню «Пуск» и зарегистрирует адрес возврата `shd-auth://callback`.
3. Запустите SHD из меню «Пуск».
Нужен Microsoft Edge WebView2 Runtime. Обычно он уже установлен вместе с Microsoft Edge; если его нет, приложение откроет страницу установки Runtime.
Для удаления запустите `uninstall.ps1` из распакованной папки или папки установки. Данные сайта и профиль WebView2 остаются в `%LOCALAPPDATA%\SHDDesktop`.
## Вход по passkey
Вход начинается нажатием штатной кнопки passkey на странице SHD. Приложение перехватывает только `#btnPasskeyLogin` и `#twoFactorPasskey` на страницах входа, открывает авторизацию в системном браузере и принимает ответ через `shd-auth://callback`. Одноразовый код и PKCE verifier отправляются POST-запросом в WebView2, чтобы сессионная cookie осталась в профиле приложения.
Этот серверный поток сейчас подключён только на DEV. На PROD приложение сообщает об этом и не начинает отдельную авторизацию.
Для DEV сервер ожидает `client_id=shd-desktop`, callback URI — `shd-auth://callback`. Оба значения должны совпадать с настройками приложения и сервера.
## Сборка
На Windows с установленным .NET 10 SDK запустите из PowerShell:
```powershell
./Windows/Scripts/build.ps1
```
Скрипт публикует автономное приложение для `win-x64` и создаёт `Windows/dist/SHD-Windows-x64.zip`. .NET не требуется устанавливать на компьютере пользователя; WebView2 Runtime нужен отдельно.