gitmyhub

better-auth

TypeScript ★ 29k updated 20h ago

The most comprehensive authentication framework

Better Auth is a TypeScript authentication framework that provides user sign-in, OAuth, two-factor authentication, multi-tenant support, and SSO out of the box, so you don't have to piece together auth from scratch.

TypeScriptNode.jssetup: moderatecomplexity 3/5

Better Auth is a TypeScript authentication framework — meaning it handles the "who are you, and are you allowed to do this?" parts of a web application. Authentication (verifying who a user is) and authorization (deciding what they can do) are notoriously complex to build correctly, and Better Auth aims to provide a thorough, ready-to-use solution so developers don't have to piece things together from scratch.

It works with any TypeScript framework (not tied to one specific platform) and comes with a plugin system that makes it easy to add advanced features like two-factor authentication (requiring a second confirmation step to log in), multi-tenant support (separate accounts for different organizations in one app), OAuth (the "Log in with Google/GitHub" flow), and single sign-on (SSO — one login to access multiple services).

The project's motivation is straightforward: existing open-source authentication libraries for TypeScript tend to only cover basic login and require a lot of extra custom code for anything more complex. Better Auth bundles more of those features out of the box.

You would use Better Auth when building a TypeScript web app that needs user accounts, and you want a self-hosted, open-source option rather than paying for a third-party service. It is MIT-licensed (free to use and modify) and available as an npm package.

Where it fits