brackt/docs/agents/auth.md
2026-04-17 14:17:49 -07:00

414 B

Authentication

  • Auth is handled by Clerk (@clerk/react-router)
  • User records are synced from Clerk via webhook at routes/api/webhooks/clerk.ts
  • Ownership validation: check ownerId field against the Clerk user ID (clerkId)
  • Admin access: isAdmin boolean on the users table; all /admin routes enforce this
  • League commissioners: stored separately in the commissioners table (not via isAdmin)