Skip to content

fix(room): align /room/participants auth with cloud/browser path#1341

Merged
itskai-dev merged 2 commits into
mainfrom
pixel-room-auth
May 13, 2026
Merged

fix(room): align /room/participants auth with cloud/browser path#1341
itskai-dev merged 2 commits into
mainfrom
pixel-room-auth

Conversation

@itskai-dev
Copy link
Copy Markdown
Collaborator

@itskai-dev itskai-dev commented May 13, 2026

Summary

  • allow GET /room/participants to authenticate with a scoped bearer token for the cloud/browser path
  • keep existing heartbeat-token auth intact for host/internal callers
  • preserve the narrower auth behavior for the rest of room-routes

Validation

  • npm run build
  • tsc --noEmit
  • vitest run on room-presence-store, room-event-bridge, artifact-store-room

Why

reflectt-node#1340 narrowing was blocked because the ROOM_MODEL contract expects /room/participants to be readable through the normal cloud/browser path, while node only accepted REFLECTT_HOST_HEARTBEAT_TOKEN.

Link (Team Reflectt) and others added 2 commits May 12, 2026 20:58
…cipants

Per ROOM_MODEL_V0, /room/participants is a room output the cloud/browser
path reads using the host credential. Requiring REFLECTT_HOST_HEARTBEAT_TOKEN
locks those callers out. Mirrors manage.ts:checkManageAuth's
allowHostCredential option — heartbeat token still works, host credential
is now a second valid secret on this one route only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@itskai-dev itskai-dev merged commit 100e52a into main May 13, 2026
11 checks passed
@itskai-dev itskai-dev deleted the pixel-room-auth branch May 13, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant