Automatically sync Kinde authentication events into Convex via webhooks with JWT verification and real-time user updates.
npm install @sholajegede/kinde-syncDrop-in Convex component that handles Kinde webhook events automatically. Verifies JWT signatures against Kinde's JWKS endpoint, deduplicates events by webhook ID, and upserts or deletes users in a component-owned Convex table. Your frontend subscribes reactively via useQuery — users appear instantly when created, updated, or deleted in Kinde. Eliminates the boilerplate every Convex + Kinde app has to write from scratch.
Kinde Sync automatically handles user synchronization by processing Kinde webhooks and upserting user data into a Convex table. Your frontend gets reactive updates through useQuery subscriptions whenever users are created, updated, or deleted in Kinde.
The component automatically verifies JWT signatures from Kinde webhooks against Kinde's JWKS endpoint. It handles the entire webhook processing pipeline including signature validation, event deduplication, and database updates without requiring manual JWT verification code.
Users appear instantly in your Convex queries when authentication events occur in Kinde. The component processes webhooks in real-time and triggers reactive updates through Convex's subscription system, eliminating the need for polling or manual refresh logic.
Yes, Kinde Sync automatically verifies JWT signatures from Kinde webhooks against Kinde's JWKS endpoint. The component handles all cryptographic verification without requiring you to write JWT validation code or manage signing keys manually.
Kinde Sync deduplicates events using webhook IDs to ensure each event is processed only once. This prevents duplicate user records or state inconsistencies if Kinde retries webhook deliveries or sends the same event multiple times.
The component syncs standard Kinde user fields into a component-owned Convex table. You can query this table and transform or extend the data in your own mutations and queries as needed for your application's requirements.
Kinde Sync automatically removes deleted users from the Convex table when it receives user deletion webhook events from Kinde. Your frontend queries will reactively update to reflect the user removal without additional code.