feat(organizer): establish secure website console access#17
Open
Elvis020 wants to merge 1 commit into
Open
Conversation
900b2bb to
f897e58
Compare
Keep devcongress.org static-only by removing organizer navigation, console routes, and authentication runtime from the public-site Worker. Add a separate organizer Astro build and devcongress-organizer Worker configuration for the future organizer subdomain, proposed as em.devcongress.org. The organizer surface provides a minimal Google sign-in and OAuth callback flow, verifies active Supabase organizer membership, records audit events, and issues only Secure, HTTP-only, SameSite=Strict sessions. It is disabled until an exact ORGANIZER_ORIGIN and custom domain are configured, and it has no workers.dev exposure. Verified pnpm build, pnpm build:organizer, and pnpm exec wrangler deploy --config wrangler.organizer.jsonc --dry-run.
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.
Phase 3: secure organizer-console access
Phase 1: Host the static website on CloudflarePhase 2: Verify and cut overdevcongress.orgThis prepares a separate
devcongress-organizerWorker forem.devcongress.org.Public-site boundary
devcongress.orgremains static-only. This PR adds no organizer page, navigation link, login flow, or authentication route to the public Astro build.The organizer experience is built separately from the public site. It contains only a sign-in page and an OAuth callback, and will be served only from the organizer hostname once its Custom Domain is attached.
After sign-in, the Worker verifies the user's active organizer membership in Supabase, creates an HTTP-only session, and records organizer audit events. The sign-in page is intentionally reachable so organizers can begin authentication; protected organizer access requires an approved membership.
Supabase now allows
https://em.devcongress.org/api/auth/admin/callback. The Google provider remains configured through Supabase.Cloudflare rollout dependency
The current public Worker is static-assets-only and cannot accept variables or secrets. This PR therefore creates a separate organizer Worker configuration, with
workers_devdisabled and no custom-domain route yet.After merge:
mainbuild deploy thedevcongress-organizerscript.em.devcongress.orgas that Worker’s Custom Domain.ORGANIZER_ORIGIN=https://em.devcongress.org.SUPABASE_URL,SUPABASE_ANON_KEY, andSUPABASE_SERVICE_ROLE_KEYas Worker secrets.Verified with
pnpm build,pnpm build:organizer, andpnpm exec wrangler deploy --config wrangler.organizer.jsonc --dry-run.