
Better Auth: framework di autenticazione open-source per TypeScript
Better Auth è un framework TypeScript framework-agnostic per autenticazione e autorizzazione self-hosted, con plugin per 2FA, passkey e multi-tenancy.
Cos'è
Better Auth è un framework open-source di autenticazione e autorizzazione scritto in TypeScript. Nasce con l'obiettivo di offrire agli sviluppatori una soluzione completa e autocontenuta per gestire identità, sessioni e permessi direttamente all'interno della propria applicazione e del proprio database, senza dipendere da servizi di terze parti. È distribuito con licenza MIT e progettato per essere indipendente dal framework frontend o dal runtime utilizzato.
Il progetto è stato fondato da Bereket Engida e pubblicato su GitHub nel 2024. Dopo aver rapidamente attratto l'attenzione della comunità TypeScript, è entrato a far parte del batch di primavera 2025 di Y Combinator e ha successivamente raccolto un round seed da 5 milioni di dollari. Nonostante la crescita, Better Auth rimane un progetto open-source con codice disponibile pubblicamente.
La filosofia di fondo è che l'autenticazione non debba essere delegata per forza a servizi gestiti, ma possa essere implementata in modo solido, type-safe ed estensibile all'interno dello stack tecnologico del team.
Il problema che risolve
Nell'ecosistema TypeScript la gestione dell'autenticazione è storicamente frammentata. Le librerie esistenti offrono spesso solo primitive di base — come la creazione di sessioni o il parsing di token OAuth — lasciando al team il compito di costruire a mano funzionalità come la registrazione via email, il recupero password, la gestione dei ruoli, l'autenticazione a due fattori o il supporto a più organizzazioni. Al contrario, i servizi gestiti come Clerk, Auth0 o Firebase Auth centralizzano i dati degli utenti su infrastrutture di terze parti, introducono costi ricorrenti e riducono il controllo su flussi, dati e conformità.
Better Auth si colloca nel mezzo: fornisce un framework pronto all'uso con funzionalità avanzate integrate, ma mantiene l'intero sistema di autenticazione sotto il controllo dello sviluppatore. Questo approccio risponde a esigenze di sovranità dei dati, personalizzazione dei flussi e riduzione delle dipendenze esterne, specialmente per startup, SaaS e applicazioni enterprise.
Come funziona
Better Auth si installa come pacchetto npm nel proprio progetto. Il cuore del sistema è una funzione di configurazione, solitamente esposta da un file auth.ts, in cui si definiscono i provider di autenticazione, i plugin attivi, l'adattatore del database e le opzioni di sicurezza. Il framework genera automaticamente endpoint API, gestisce le migrazioni del database e fornisce un client TypeScript per il frontend.
Il flusso tipico prevede:
- Installazione:
npm install better-autho equivalenti con pnpm/yarn/bun. - Configurazione: si dichiara l'istanza
betterAuth({ ... })con i provider desiderati, ad esempio email/password, Google, GitHub, e i plugin come two-factor, passkey o organization.