Minor Changes
-
Introduce a
verifyWebhook()function to verify incoming Clerk webhook requests and process the payload. This function handles webhook signature verification usingSvixand is now available across all backend and fullstack SDKs. (#5468) by @wobsorianoTo get started, install
svix, which Clerk uses to verify its webhooks:npm install svix
Then in your webhook route handler, import
verifyWebhook()from the TanStack React Start SDK:// pages/api/webhooks.ts import { verifyWebhook } from '@clerk/tanstack-react-start/webhooks'; export const APIRoute = createAPIFileRoute('/api/webhooks')({ POST: async ({ request }) => { try { const evt = await verifyWebhook(req); // Do something with payload const { id } = evt.data; const eventType = evt.type; console.log(`Received webhook with ID ${id} and event type of ${eventType}`); console.log('Webhook payload:', body); return new Response('Webhook received', { status: 200 }); } catch (err) { console.error('Error: Could not verify webhook:', err); return new Response('Error: Verification error', { status: 400, }); } }, });
For more information on how to sync Clerk data to your app with webhooks, see our guide.