The merge auto-combined these test files without textual conflict, but they referenced APIs next changed, so type checking failed: - mcp.test.ts drove one (skipped) confidential-client test through the removed generic-oauth client (genericOAuthClient + signIn.oauth2). It now uses signIn.social like the surrounding tests. - two-factor.security.test.ts read enrollment.totpURI directly; next's #9057 made the enable response a discriminated { method } union, so the tests now narrow on method === "totp" before reading totpURI. tsc --build is clean across the workspace. (cherry picked from commit d3cd3c2eb39f0c7209f45ff27ac4b943250b93be)
Better Auth
Better Auth is a framework-agnostic authentication (and authorization) framework for TypeScript. It provides a comprehensive set of features out of the box and includes a plugin ecosystem that simplifies adding advanced functionalities with minimal code in a short amount of time. Whether you need 2FA, multi-tenant support, or other complex features, it lets you focus on building your actual application instead of reinventing the wheel.
Why Better Auth
Authentication in the TypeScript ecosystem is a half-solved problem. Other open-source libraries often require a lot of additional code for anything beyond basic authentication. Rather than just pushing third-party services as the solution, I believe we can do better as a community—hence, Better Auth.
Contribution
Better Auth is a free and open source project licensed under the MIT License. You are free to do whatever you want with it.
You could help continuing its development by:
Security
If you discover a security vulnerability within Better Auth, please send an e-mail to security@better-auth.com.
All reports will be promptly addressed, and you'll be credited accordingly.
