
Convex Auth
- 100 installs
- 125 repo stars
- Updated February 4, 2026
- igorwarzocha/opencode-workflows
Implement Convex authentication and authorization with OIDC providers (Clerk, Auth0, WorkOS) or the built-in Convex Auth library.
About
A skill for adding auth to Convex apps using OIDC JWTs or the Convex Auth beta library. A developer uses it to wire ctx.auth.getUserIdentity, store users, and enforce per-function authorization.
- Covers Clerk, Auth0, WorkOS, and Convex Auth (magic links, OTP, OAuth, passwords)
- Sensitive logic must use internal functions; service-to-service via shared secret
Convex Auth by the numbers
- 100 all-time installs (skills.sh)
- +3 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #2,996 of 4,347 Backend & APIs skills by installs in the Skillselion catalog
- Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/igorwarzocha/opencode-workflows --skill convex-authAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 100 |
|---|---|
| repo stars | ★ 125 |
| Last updated | February 4, 2026 |
| Repository | igorwarzocha/opencode-workflows ↗ |
What it does
Implement Convex authentication and authorization with OIDC providers (Clerk, Auth0, WorkOS) or the built-in Convex Auth library.
Files
<overview> Implement Convex authentication and authorization patterns with OIDC providers (Clerk, Auth0, WorkOS) or the built-in Convex Auth library. </overview>
<reference>
- Auth overview: https://docs.convex.dev/auth
- Convex Auth (beta): https://docs.convex.dev/auth/convex-auth
- Auth methods: https://labs.convex.dev/auth
- Clerk Integration: https://docs.convex.dev/auth/clerk
- WorkOS Integration: https://docs.convex.dev/auth/authkit/
</reference>
<context name="Auth Concepts">
- Convex uses OpenID Connect JWTs.
- Integrations: Clerk, WorkOS AuthKit, Auth0; custom OIDC supported.
- Convex Auth (Beta): A built-in library (labs.convex.dev) supporting Magic Links, OTPs, OAuth, and Passwords without external services.
- Identity: Accessed via
ctx.auth.getUserIdentity()in server functions. - Authorization: Enforced per public function; sensitive logic MUST use internal functions.
</context>
<rules>
Auth Operations
- In functions:
ctx.auth.getUserIdentity()returnstokenIdentifier,subject,issuerplus provider claims. - Custom JWT auth MAY expose claims at
identity["properties.email"]style paths. - User storage patterns:
- Client mutation to store user from JWT, or webhook from provider to upsert users.
- Index lookups SHOULD use
by_token/byExternalId. - Webhooks: You MUST implement via HTTP actions and verify signatures with provider SDK; signing secrets MUST be stored in env vars.
Convex Auth (Beta) Specifics
- Supported Methods:
1. Magic Links & OTPs: Email-based links or codes. 2. OAuth: GitHub, Google, Apple, etc. 3. Passwords: Supports reset flows and optional email verification.
- Components: Does not provide UI components; You MUST build them in React using library hooks.
- Next.js: SSR/Middleware support is experimental/beta.
Server Function Patterns
- You MUST read identity via
ctx.auth.getUserIdentity(). - You MUST enforce row-level authorization in every public function.
- You SHOULD NOT expose sensitive logic via public functions; prefer internal ones.
Service-to-service Access
- If no user JWT is available, You SHOULD use a shared secret pattern.
- You MUST store secrets in deployment env vars; MUST NOT hardcode.
Client Guidance
- You MUST follow provider quickstarts; MUST NOT invent flows.
- You SHOULD NOT rely on auth data in client-only code without server verification.
</rules>