oclaw/uds-auth
oliver a5ba9d52cc Fix workspaceRegistry inject and restore WS UDS identity.
Stop Cordis throws on ctx.workspaceRegistry, inject the registry handle for provisioning, and bind login identity onto remote.mux WebSocket listeners so super_admin keeps all workspaces.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 09:48:44 +08:00
..
lib Fix workspaceRegistry inject and restore WS UDS identity. 2026-09-08 09:48:44 +08:00
.gitignore Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +08:00
config.default.yaml Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +08:00
cordis.patch.yml Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +08:00
package-lock.json Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00
package.json Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00
pnpm-lock.yaml change log in 2026-09-08 00:28:58 +08:00
README.md Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00
README.zh.md Restore uds-auth in oclaw: DSH plugin with token+profile auth, settings UI, and pagination. 2026-09-08 01:46:17 +08:00

uds-auth

UDS authentication plugin for DeepSeek Harness: fixed sidebar login badge + host session/role APIs.

Install

dsh plugin --profile web add -w "D:/project/chatgpt/oclaw/uds-auth"

Restart Harness after install. The badge mounts on sidebar.footer.action (root scope).

Config

uacBaseUrl: https://uac.zte.com.cn
userSearchUrl: https://icenterapi.zte.com.cn/zte-km-icenter-addresearch/user/plain/docs/search
loginSystemCode: '100000455558'
originSystemCode: ''

Layout

Piece Path Role
Host lib/index.js Cordis apply: settings, RPC, /uds-auth/*
Client lib/client.js ModuleLoader + React footer login card
Bundle cordis.patch.yml layer insert only
Meta package.json dsh.client ./client + slots inject

The login panel uses position: fixed with a measured trigger anchor (same pattern as CordisPanel) so the sidebar overflow clip cannot hide it.

License

MIT