feat: ClientSpace OAuth consent, admin logs, and namespace storage selection UI#13
Open
feat: ClientSpace OAuth consent, admin logs, and namespace storage selection UI#13
Conversation
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
client_idas a developer-defined ClientSpace so both dev and prod support dynamic registration and the current identifier becomes a service-specific label to show in consent.service URLandClientSpacebefore issuing auth codes to make user-facing authorization clearer.Description
client_idasClientSpace, auto-provisions clients/namespaces by ClientSpace, and serves an explicit HTML consent page at/oauth/authorizeplus a consent POST handler that issues codes only on approval. (server/routes.ts, server/oauth.ts)clientSpacefor dynamic client provisioning and namespace creation, supports creating clients with a providedclientId/ClientSpace, and addedupdateNamespaceto change storage assignment. (server/storage.ts, shared/schema.ts)/api/admin/logsendpoint; Web UI includesLogspage anduseAdminLogshook to display recent API requests. (server/request-logs.ts, server/index.ts, server/routes.ts, client/src/pages/logs.tsx, client/src/hooks/use-admin-logs.ts)ClientSpacefield, added per-namespace storage selection withPATCH /api/namespaces/:idsupport and client-sideuseUpdateNamespacemutation, and exposed the logs page in the sidebar and router. (client/src/pages/clients.tsx, client/src/pages/namespaces.tsx, client/src/hooks/use-namespaces.ts, client/src/App.tsx, client/src/components/layout/app-layout.tsx)README.md,docs/SERVER_GUIDE.md, anddocs/README.mdto document ClientSpace semantics, consent screen behavior, admin logs, and namespace storage selection. (README.md, docs/*)Testing
npm run check(TypeScripttsc) and it completed successfully without type errors. (passed)npm run buildwhich builds both client and server and completed successfully; production bundles were generated. (passed)npm run devbut the local dev server failed to start in this environment due to missing nativebetter_sqlite3bindings (better_sqlite3.node), so live UI runtime verification (browser screenshot) was not possible; code changes still pass typecheck and production build. (dev start failed because of environment native dependency)Codex Task