Senparc.Xncf.DesktopBridge
0.4.4
Prefix Reserved
dotnet add package Senparc.Xncf.DesktopBridge --version 0.4.4
NuGet\Install-Package Senparc.Xncf.DesktopBridge -Version 0.4.4
<PackageReference Include="Senparc.Xncf.DesktopBridge" Version="0.4.4" />
<PackageVersion Include="Senparc.Xncf.DesktopBridge" Version="0.4.4" />
<PackageReference Include="Senparc.Xncf.DesktopBridge" />
paket add Senparc.Xncf.DesktopBridge --version 0.4.4
#r "nuget: Senparc.Xncf.DesktopBridge, 0.4.4"
#:package Senparc.Xncf.DesktopBridge@0.4.4
#addin nuget:?package=Senparc.Xncf.DesktopBridge&version=0.4.4
#tool nuget:?package=Senparc.Xncf.DesktopBridge&version=0.4.4
Senparc.Xncf.DesktopBridge
Senparc.Xncf.DesktopBridge is an optional XNCF module that exposes a secured HTTP/SSE bridge between an NCF host and a desktop companion application. The NCF host still uses its in-process EventBus; the bridge only adapts normalized activity and authorized resource-change notifications for another process or machine.
Features
- Observes integration events through closed, contravariant handler mappings without replacing existing EventBus consumers.
- Provides capability discovery, activity snapshots, and Server-Sent Events (SSE) for local or explicitly configured remote desktop sessions.
- Requires the
NCF_DESKTOP_BRIDGE_TOKENstartup boundary before exposing bridge state. - Provides an administrator-scoped authorized-sync stream for resource IDs and change types.
- Supports an optional, one-time PKCE handoff from an authenticated WebView Cookie session to an in-memory desktop JWT without copying the Cookie.
- Does not read or mutate business
MemoryCache, and does not transmit passwords, JWTs, or chat message bodies through EventBus/SSE.
Installation
<PackageReference Include="Senparc.Xncf.DesktopBridge" Version="0.1.1-preview3" />
Restart the NCF host after installing or updating the module.
Key API and security contract
DesktopBridgeControllerserves capability and activity endpoints.DesktopActivityHubandDesktopAuthorizedSyncHubpublish lightweight activity/change messages.DesktopBridgeTokenValidatorvalidates the local session token.DesktopAdminAuthHandoffStorekeeps bounded, 60-second, single-use challenges in memory and binds them to one desktop session.DesktopActivityEventHandlerobserves NCF integration events.DesktopBridgeCapabilities,DesktopActivityMessage, andDesktopAuthorizedSyncMessageare the public transport records.
Authorized sync requires the desktop session token, the Bearer_Backend JWT, the standard AdminOnly policy, and matching event owner/admin IDs. The desktop client must re-read business data through the original authorized API; a missing login, expired token, or disconnected bridge must disable the dependent feature.
Admin auth handoff additionally requires the current WebView Cookie, AdminOnly, explicit confirmation in the WebView, Razor antiforgery validation, a desktop session token, and a PKCE verifier that never enters the WebView. The issued JWT cannot outlive the source Cookie or the configured backend JWT lifetime. The capability is absent when the Admin token issuer is not registered; multi-tenant Cookie sessions currently fall back to explicit desktop login.
Remote deployment
Set NCF_DESKTOP_BRIDGE_TOKEN in the remote Senparc.Web process and enter the same value in the desktop workspace. Do not expose the bridge over plaintext Internet HTTP: use HTTPS and a reverse proxy/firewall IP allowlist. If mTLS is required, terminate it in a trusted local proxy/tunnel and connect the desktop workspace to that loopback endpoint. An SSH tunnel is likewise supported through a URL such as http://127.0.0.1:5500.
The token is an application-layer shared secret, not a replacement for TLS or network access control. Each desktop workspace owns an independent SSE connection and Admin JWT; the bridge never attempts to share the in-memory EventBus channel across processes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Senparc.Ncf.AreaBase (>= 0.23.6)
- Senparc.Ncf.Core (>= 0.30.0-preview9)
- Senparc.Ncf.Service (>= 0.23.9-preview9)
- Senparc.Ncf.Shared.Abstractions (>= 0.6.0-preview5)
- Senparc.Ncf.XncfBase (>= 0.26.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.4 | 66 | 8/29/2026 |
| 0.4.3 | 107 | 8/23/2026 |
| 0.4.2-preview6 | 96 | 8/14/2026 |
| 0.4.1-preview5 | 98 | 8/12/2026 |
| 0.4.0-preview4 | 91 | 8/8/2026 |
| 0.3.0-preview3 | 95 | 8/3/2026 |
| 0.2.1-preview2 | 89 | 7/31/2026 |
| 0.1.2-preview4 | 89 | 7/31/2026 |
| 0.1.1-preview3 | 94 | 7/28/2026 |
| 0.1.0-preview2 | 92 | 7/27/2026 |
[2026-07-25] v0.1.0-preview1 新增 NCF 桌面状态桥接能力
1、使用逆变事件处理器的闭合服务映射旁路观察 EventBus,不改变原事件消费行为
2、避免开放泛型实现被 NCF 扫描为无效 DI 描述符,确保站点容器可正常构建
3、提供带会话令牌保护的能力探测、活动快照和 SSE 实时事件接口
4、在未由桌面应用启动时默认关闭桥接接口,避免暴露进程内状态
[2026-07-26] v0.1.0-preview2 新增受管理员身份隔离的资源同步通知
1、仅同步资源标识和变更类型,不通过 EventBus 或 SSE 传输聊天正文、密码或令牌
2、同步流同时要求桌面会话令牌、Bearer_Backend JWT 和 AdminOnly 策略
3、按管理员账号隔离通知,为桌面 Admin Chat 和后续受权模块提供通用扩展点
[2026-07-29] v0.1.1-preview3 复用 NCF 标准 AdminOnly 策略名称
1、桌面桥接控制器改用 Core 统一授权策略常量,避免策略字符串漂移
[2026-07-31] v0.1.2-preview4 补充 DesktopBridge 远程部署安全说明
1、明确 HTTP/SSE 桥接边界、HTTPS 与网络访问控制要求
2、补充独立工作区连接、JWT 与 EventBus 进程边界说明
[2026-08-01] v0.2.0-preview1 新增管理员审批的设备配对
1、桌面端可使用短期配对码申请独立的 24 小时会话令牌,无需重启站点
2、管理后台可批准、拒绝和撤销会话,且不显示令牌原文
3、保留 NCF_DESKTOP_BRIDGE_TOKEN 兼容现有自动化,并要求远程配对使用 HTTPS
[2026-08-01] v0.2.1-preview2 优化后台样式和撤销响应
1、管理页面改用后台现有 Element UI 组件,不再维护模块私有样式
2、会话撤销直接取消现有 SSE,使桌面端无需轮询即可立即感知
[2026-08-04] v0.3.0-preview3 新增桌面端纽铃提供程序并统一品牌命名
1、新增 DesktopBridgeNeuBellProvider 以接入统一纽铃目录
2、完善桌面凭据存储与模块注册逻辑
3、将通知发布器、DI 注册和技术标识迁移到 NeuBell/纽铃命名
[2026-08-08] v0.4.0-preview4 新增桌面管理员 PKCE 一次性换票交接
1、新增 AuthHandoff 页面与换票状态存储,支持 WebView Cookie 到桌面 Admin JWT 的安全交接
2、扩展 DesktopBridge API 与活动消息,覆盖换票发起、确认与兑换流程
3、完善模块注册以接入管理员令牌签发协作
[2026-08-13] v0.4.1-preview5 Dependency update from Senparc.Ncf.AreaBase to 0.23.3-preview7; Senparc.Ncf.Core to 0.28.2-preview7; Senparc.Ncf.Shared.Abstractions to 0.6.0-preview5; Senparc.Ncf.XncfBase to 0.25.0-preview7
[2026-08-15] v0.4.2-preview6 Dependency update from Senparc.Ncf.Core to 0.29.0-preview8
[2026-08-22] v0.4.3-preview7 同步 Senparc.Xncf.DesktopBridge 依赖版本
1、递归更新上游项目依赖,保持 Senparc.Xncf.DesktopBridge 与当前版本组合兼容
[2026-08-29] v0.4.4 Dependency updates from Senparc.Ncf.Core to 0.30.0-preview9
1、Dependency update from Senparc.Ncf.Core to 0.30.0-preview9