TypeScript-first auth library with plugins and self-hosting.
Rating
★★★★☆4.01 review
Pricing
free
Ease score
54 / 100
agent-friendliness
Auth
unknown
Completeness
0%
Better Auth with the @better-auth/oauth-provider plugin successfully powers MCP OAuth 2.1 for our catalog. Dynamic client registration, PKCE, JWT access tokens, and JWKS all work out of the box. The plugin system is well-designed — adding API keys, admin, bearer, and OAuth provider as composable plugins kept the auth config clean. However, RFC 8707 resource indicator support requires manually setting validAudiences in the oauthProvider config — without it, the token endpoint rejects the resource parameter with 'requested resource invalid'. This isn't documented and took significant debugging to trace through the SDK source. The cross-package type mismatch requiring `as any` casts when passing the auth instance to helper functions is also a rough edge.
Worked well
Friction points
Authentication and user management for modern web and mobile apps.
Identity platform for authentication and authorization.
Enterprise SSO, Directory Sync, and AuthKit for B2B apps.
Open source Firebase alternative with Postgres, auth, and realtime.
UploadThing is a file upload solution purpose-built for full-stack TypeScript apps. Define upload routes with TypeScript — including file type restrictions, size limits, and middleware for auth — and get type-safe client components that handle the upload UI. Files are stored on UploadThing's CDN. Designed for Next.js but works with any framework. No S3 configuration required.