// clerk integration
Develop a Clerk-powered app against a public URL
Clerk's dev tools run on http://localhost just fine, but its OAuth providers (Google, Apple) and webhooks need HTTPS. Skip the local-cert dance — tunnel through lrok and Clerk sees a real https origin.
1 · Set up the lrok tunnel
1. Reserve
$ lrok reserve clerk-dev2. Run app
$ npm run dev3. Tunnel
$ lrok http 3000 --hint clerk-dev
2 · Configure Clerk
1. Clerk dashboard → Webhooks → Add endpoint
Endpoint URL: https://clerk-dev.lrok.io/api/webhook/clerk.
2. Pick events
user.created, user.deleted, session.created at minimum.
3. Copy the signing secret as CLERK_WEBHOOK_SIGNING_SECRET
// clerk-specific gotcha
Clerk webhooks are signed via svix. The svix-id, svix-timestamp, and svix-signature headers must travel through your tunnel intact — lrok proxies them verbatim. If signature verification fails, it's almost always body parsing (raw bytes vs parsed JSON), not the tunnel.