rspace-online/backlog/tasks/task-19 - Add-EncryptID-aut...

1.9 KiB

id title status assignee created_date labels dependencies priority
TASK-19 Add EncryptID auth header and gate community creation Done
2026-02-17 00:51
auth
ui
encryptid
high

Description

Add a persistent header bar with EncryptID sign-in/sign-up across all rSpace pages (landing + canvas). Gate the "Create Community Space" form behind authentication — shows a passkey auth modal if the user isn't signed in. Auth tokens are sent with the community creation API call.

Acceptance Criteria

  • #1 Header bar with sign-in button on landing page (dark theme)
  • #2 Header bar with sign-in button on canvas page (light theme)
  • #3 Auth modal with sign-in and register flows using WebAuthn passkeys
  • #4 Create Community form requires auth — shows modal if not signed in
  • #5 Bearer token sent with community creation API call
  • #6 User avatar and dropdown menu when logged in
  • #7 EncryptID modules lazy-loaded only when auth triggered

Final Summary

Implemented in commit da48f6f. Created lib/rspace-header.ts shared module with mountHeader(), showAuthModal(), requireAuth() functions. Modified both website/index.html and website/canvas.html to mount the header. Added @encryptid vite alias for lazy-loading WebAuthn modules.

Follow-up fix in 46d8429: header now re-renders after auth via the requireAuth() flow (e.g. community creation form), so the Sign In button updates to show the user avatar immediately.

Docker build fixed in fd25996/6bafcf3: switched to self-contained build context with additional_contexts for encryptid-sdk, added .dockerignore, skipped tsc in Docker build.

Auto-deploy configured: added rspace-online to deploy-webhook REPOS + created Gitea webhook (ID 74). Pushes to main now auto-deploy.