Phase 5: Login Page Integration #416

Closed
opened 2026-02-16 16:57:11 +00:00 by jason.woltje · 0 comments
Owner

Parent Epic: #411

Stories

  • 5.1 Fetch GET /auth/config on login page mount
  • 5.2 Render providers dynamically (OAuth + email/password)
  • 5.3 Read and display ?error= query params via AuthErrorBanner
  • 5.4 Add loading states to OAuth and form flows
  • 5.5 Delete old LoginButton.tsx and update imports
  • 5.6 Responsive layout (mobile-first)
  • 5.7 Accessibility audit: axe-core, keyboard nav, WCAG 2.1 AA contrast, screen reader

Acceptance Criteria

  • Login page fetches /auth/config and renders providers dynamically
  • OAuth button visible when OIDC enabled, hidden when disabled
  • Email/password form always available
  • Error banner from ?error= query params
  • Loading states for both auth flows
  • Old LoginButton.tsx deleted
  • Mobile-responsive layout
  • WCAG 2.1 AA compliant (4.5:1 contrast, keyboard nav, screen reader)
  • Integration and E2E tests
  • pnpm lint && pnpm typecheck && pnpm test pass

Dependencies

  • Phase 2 (#413) - backend config endpoint
  • Phase 4 (#415) - frontend components
## Parent Epic: #411 ## Stories - **5.1** Fetch GET /auth/config on login page mount - **5.2** Render providers dynamically (OAuth + email/password) - **5.3** Read and display ?error= query params via AuthErrorBanner - **5.4** Add loading states to OAuth and form flows - **5.5** Delete old LoginButton.tsx and update imports - **5.6** Responsive layout (mobile-first) - **5.7** Accessibility audit: axe-core, keyboard nav, WCAG 2.1 AA contrast, screen reader ## Acceptance Criteria - [ ] Login page fetches /auth/config and renders providers dynamically - [ ] OAuth button visible when OIDC enabled, hidden when disabled - [ ] Email/password form always available - [ ] Error banner from ?error= query params - [ ] Loading states for both auth flows - [ ] Old LoginButton.tsx deleted - [ ] Mobile-responsive layout - [ ] WCAG 2.1 AA compliant (4.5:1 contrast, keyboard nav, screen reader) - [ ] Integration and E2E tests - [ ] pnpm lint && pnpm typecheck && pnpm test pass ## Dependencies - Phase 2 (#413) - backend config endpoint - Phase 4 (#415) - frontend components
jason.woltje added this to the Auth-Frontend-Remediation (0.0.14) milestone 2026-02-16 16:57:11 +00:00
jason.woltje added the authweb labels 2026-02-16 16:57:11 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaic/stack#416