Skip to content

Allow tenant invites to redirect to Lobby - #110

Open
woksin wants to merge 4 commits into
mainfrom
feature/109-tenant-invites-lobby-redirect
Open

Allow tenant invites to redirect to Lobby#110
woksin wants to merge 4 commits into
mainfrom
feature/109-tenant-invites-lobby-redirect

Conversation

@woksin

@woksin woksin commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Model matching-tenant invitation completion with the explicit InvitationCompletionDestination enum (ReturnUrl / Lobby).
  • Add Invite.MatchingTenantInvitationDestination and the Aspire WithMatchingTenantInvitationDestination(...) helper.
  • Keep ReturnUrl as the compatibility default, preserving the released matching-tenant behavior.
  • Compare the validated invitation tenant claim with the resolved request tenant; equality is routing evidence, not issuer identity.

Cratis Studio is unchanged: the invitation staging and exchange APIs and payloads are not modified.

Security boundary

This is a redirect-only setting. It changes only the destination after successful completion; invitation validation, staging, exchange, recipient binding, attestations, transaction consumption, cookies, and sessions remain unchanged. Matching tenant values do not prove which tenant issued the invitation.

Verification

  • AuthProxy specs: 2036 passed.
  • Aspire specs: 74 passed.
  • Focused current/callback/replay matrix:
Flow ReturnUrl Lobby
Current/post-login completion Continues toward the challenge return URL Selects the configured Lobby frontend
Provider callback completion Preserves the challenge return URL Redirects to Lobby after the same successful exchange
Stale-cookie replay Does not exchange again or redirect to Lobby; clears the cookie Does not exchange again; redirects to Lobby with the invitation ID and clears the cookie
  • Mutation check: 2/2 mutations killed.
  • Documentation limitation: the shared Documentation/web full check is unavailable because isolated runs timed out on unrelated Chronicle client generation; the source documentation stale-terminology scan and diff check passed.

Release note

Added

Security

  • Resolve nanoid to ^3.3.18, fixing GHSA-2v37-7h3g-55p8 (HIGH).
  • Pin security workflow actions to verified full SHAs with persist-credentials: false.
  • Add a frontend dependency audit job blocking HIGH/CRITICAL advisories.

Verification audit

  • Code review: APPROVE
  • Security review: APPROVE
  • Evidence SHA-256: c3d8b25ea41a9362c942bdc7491ac6692dca21b7dba0219bab2e641eb678c4c2

@woksin woksin added the minor label Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant