已关闭
[WEB-01] Define WebUI, Telegram OIDC and tenant-authorization contracts #30
urandon创建于 8月4日关闭于 8月5日
8月4日 修改了issue 的描述
8月5日 关联了pull request:WEB-01: define authenticated WebUI contracts
urandon
8月5日 评论:
8月5日 评论:
Implementation report — authenticated WebUI contracts
Implementation is ready in MR !21, branch ai/web-01-auth-contracts, commit 1e80903df39f1b9fcc6058c5edc184f38645ad5e.
Delivered
- Added frontend-neutral domain contracts for external identities, tenant memberships, enrollment, OIDC challenges, revocable browser sessions, and tenant/session-bound upload intents.
- Defined Telegram OIDC verification requirements: exact issuer and audience, algorithm allowlist, nonce, time validation, Authorization Code + PKCE S256, and the minimal
openid profilescope. - Kept provider tokens behind the OIDC adapter boundary; browser sessions use opaque, expiring, revocable server-side identifiers and never expose Telegram credentials.
- Defined explicit enrollment paths: an existing trusted frontend binding, a one-time invitation, or an operator-controlled cloud-development bootstrap. Successful authentication alone does not grant tenant membership.
- Added role and membership-version authorization rules, including immediate rejection of suspended memberships and stale sessions after membership changes.
- Added a stable WebUI API contract for session listing/creation/switching, message append, run cancellation, compute status, and attachment upload intents.
- Added strict Origin plus session-bound CSRF validation for browser mutations. Normal mutation payloads do not accept
tenant_idas authority. - Added one-time upload-intent invariants covering tenant, user, session, object-key prefix, size, digest, expiry, and replay protection.
- Added a WebUI threat model and an authorization matrix with stable error codes and HTTP status mappings.
- Updated the public README and contract documentation to reflect Sessionless-owned canonical sessions, Telegram as the first frontend adapter, and harness-pluggable serverless workers.
Verification
Local verification passed:
make cigit diff --check- public documentation contains no Cyrillic text
GitHub mirror CI is green for the exact commit SHA in workflow run #63:
- Go verification
- Terraform environments
- Local multi-service stand
- YDB schema and state store
- Runtime images
Follow-up boundary
This issue freezes the contracts only. It deliberately does not add WebUI persistence tables, the Go BFF, Svelte UI, Telegram OIDC production configuration, or cloud resources. Those begin in WEB-02 and the following WebUI implementation issues.


8月5日 关闭了 issue
15 天前 添加了label:designmvpwebui
15 天前 关联了里程碑:MVP — Authenticated WebUI (#29)
Parent
Outcome
Freeze frontend-neutral WebUI, authentication, authorization, session, CSRF, upload-intent and API contracts before persistence or UI implementation.
Estimate
Scope
tenant_idas authority.Verification
Acceptance criteria
Non-goals