fix: close domain-registration impersonation hole, fix stale docs URL
musehub#117 Phase 0 (DOM_02, DOM_03, DOM_04):
- DOM_02: register_domain() stored author_slug verbatim from the request body with no check against the caller's real authenticated handle (claims.handle) - any authenticated user could register a domain under someone else's namespace, e.g. '@aaronrene/anything' while authenticated as someone else. Now rejects with 403 when author_slug doesn't match the caller's own handle. Default deny, no delegation escape hatch - no delegation model exists yet. - DOM_03: docs_muse_domains.html claimed the registry lives at GET /api/musehub/domains - a URL that never existed. Fixed to the real, mounted GET /api/domains. - DOM_04: added TestDomainRegistryURLConsistency, which checks the docs page against the actually-mounted FastAPI route (introspected from app.routes, not a second hardcoded string) so the docs can never silently drift from reality again. The CLI side is guarded separately by test_publish_targets_api_domains_not_v1 in muse's own test suite.
Semantic Changes
9 symbols
Files Changed
~3
998 in snapshot
0 comments
muse hub commit comment sha256:642bf10a1537bb32c2776dd2bee8efa243dc15921be82395332a6a24f7523248 --body "your comment"
No comments yet. Be the first to start the discussion.