clerk-tanstack-patterns

द्वारा clerk

TanStack React Start प्रमाणीकरण पैटर्न @clerk/tanstack-react-start के साथ

npx skills add https://github.com/clerk/skills --skill clerk-tanstack-patterns

TanStack React Start Patterns

What Do You Need?

TaskReference
Protect routes with beforeLoadreferences/router-guards.md
Auth in createServerFnreferences/server-functions.md
Pass auth to loadersreferences/loaders.md
Configure Vinxi + clerkMiddlewarereferences/vinxi-server.md

References

ReferenceDescription
references/router-guards.mdbeforeLoad auth redirect
references/server-functions.mdcreateServerFn with auth()
references/loaders.mdAuth context in loaders
references/vinxi-server.mdclerkMiddleware() setup

Setup

npm install @clerk/tanstack-react-start

.env:

CLERK_PUBLISHABLE_KEY=pk_...
CLERK_SECRET_KEY=sk_...

src/start.ts (Vinxi entry):

import { clerkMiddleware } from '@clerk/tanstack-react-start/server'
import { createStart } from '@tanstack/react-start'

export const startInstance = createStart(() => {
  return {
    requestMiddleware: [clerkMiddleware()],
  }
})

src/routes/__root.tsx — wrap with <ClerkProvider>:

import { ClerkProvider } from '@clerk/tanstack-react-start'

function RootDocument({ children }: { children: React.ReactNode }) {
  return (
    <html lang="en">
      <body>
        <ClerkProvider>
          {children}
        </ClerkProvider>
      </body>
    </html>
  )
}

Mental Model

TanStack Start runs on Vinxi. Auth flows through two layers:

  1. Server layercreateServerFn + auth() from @clerk/tanstack-react-start/server
  2. Router layerbeforeLoad on route definitions, throws redirect for unauthenticated

Both layers are server-executed. Client hooks (useAuth, useUser) are React hooks for the browser side.

Minimal Pattern

import { createFileRoute, redirect } from '@tanstack/react-router'
import { createServerFn } from '@tanstack/react-start'
import { auth } from '@clerk/tanstack-react-start/server'

const authStateFn = createServerFn().handler(async () => {
  const { isAuthenticated, userId } = await auth()
  if (!isAuthenticated) {
    throw redirect({ to: '/sign-in' })
  }
  return { userId }
})

export const Route = createFileRoute('/dashboard')({
  beforeLoad: async () => await authStateFn(),
})

Common Pitfalls

SymptomCauseFix
auth() returns emptyMissing clerkMiddleware in start.tsAdd to requestMiddleware array
redirect not thrownUsing return instead of throwthrow redirect(...) in TanStack
Wrong import for authMixing client/server importsServer: @clerk/tanstack-react-start/server
Loader context missing userIdNot passing from beforeLoadReturn from beforeLoad, access via context
ClerkProvider missingForgot root wrappingAdd to __root.tsx shell component

See Also

  • clerk-setup - Initial Clerk install
  • clerk-custom-ui - Custom flows & appearance
  • clerk-orgs - B2B organizations

Docs

TanStack React Start SDK

clerk की और Skills

clerk-monorepo
clerk
clerk/javascript SDK मोनोरेपो में प्रभावी ढंग से काम करें। रेपो सेट अप करते समय, पैकेज बनाने / परीक्षण करने / चलाने के लिए, और @clerk/* में से कौन सा चुनने का निर्णय लेते समय उपयोग करें...
official
mosaic
clerk
Work on Mosaic UI: styling a component with slot recipes (`defineSlotRecipe` / `useRecipe` / slots / variants), or building a flow — authoring a state machine…
official
mosaic-machine
clerk
मोज़ेक स्टेट मशीनों को लिखें और उपयोग करें। उपयोग तब करें जब उपयोगकर्ता createMachine के साथ स्टेट मशीन लिख रहा हो, बहु-चरणीय प्रवाह का मॉडल बना रहा हो, मशीन को React से जोड़ रहा हो…
official
clerk-android
clerk
Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns. Use for prebuilt…
official
clerk-astro-patterns
clerk
Astro पैटर्न Clerk के साथ — middleware, SSR पेज, आइलैंड कंपोनेंट्स, API रूट्स, स्टैटिक बनाम SSR रेंडरिंग। ट्रिगर: astro clerk, clerk astro middleware,…
official
clerk-backend-api
clerk
Clerk बैकएंड REST API अन्वेषक और निष्पादक। टैग ब्राउज़ करें, एंडपॉइंट स्कीमा निरीक्षण करें, और प्रमाणित अनुरोध निष्पादित करें। उपयोग करें जब उपयोगकर्ताओं को सूचीबद्ध करना, प्रबंधित करना…
official
clerk-chrome-extension-patterns
clerk
Chrome एक्सटेंशन में @clerk/chrome-extension के साथ प्रमाणीकरण -- popup/sidepanel सेटअप, वेब ऐप के माध्यम से OAuth/SAML के लिए syncHost, सेवा कर्मियों के लिए createClerkClient और…
official
clerk-cli
clerk
Operate the Clerk CLI (`clerk` binary) for authentication, user/org/session management, impersonation, local webhook testing, deploy verification, instance…
official