oclaw/uds-auth
oliver bc93392a02 Expose udsAuth Cordis service for request identity and workspace paths.
Lets plugins such as dsh-ops-cron resolve empNo/role, provisioned cwd, and stamp session owners without reading roles.json directly.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 15:49:58 +08:00
..
lib Expose udsAuth Cordis service for request identity and workspace paths. 2026-09-08 15:49:58 +08:00
.gitignore Enforce multi-user ACL for sessions, settings, and workspaces. 2026-09-08 04:29:48 +08:00
config.default.yaml Enable fallback_admin by default with Admin@123. 2026-09-08 11:09:14 +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 workspace partitions for super admins; only force flat after auth-ready. 2026-09-08 15:17:18 +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 Use workspace membership as session ACL; keep owners for audit. 2026-09-08 14:25:52 +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