These test files auto-merged main's additions onto next's refactored test surface, producing runtime failures tsc could not catch: - token.test.ts called main's sync createRefreshAccessTokenRequest, which next renamed to the async refreshAccessTokenRequest; the calls now await it and the concurrent-rotation helper is async. - private-key-jwt-e2e.test.ts hit the merged-in #9578 gate: both the provider and RP test instances create the same default user, so the OAuth sign-in links to the RP's unverified local user and is blocked. The RP sets requireLocalEmailVerified: false so the test exercises private_key_jwt rather than the (separately covered) email-verification gate. - utils/basic-auth.test.ts is removed: next made basicToClientCredentials private, and its colon-preservation coverage now lives in core's basic-credentials.test.ts. Full oauth-provider suite green (24 files, 378 tests).
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.
