nextauthjs/next-auth

Authentication for the Web.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 35 minutes ago
Added to GitGenius on November 13th, 2024
Created on January 27th, 2018
Open Issues & Pull Requests: 596 (+0)
Number of forks: 4,044
Total Stargazers: 28,341 (+0)
Total Subscribers: 111 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 36.4 days
Mean response time: 277.9 days
90th percentile: 874.8 days
Tracked items: 862

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "docs" is answered fastest, typically in about 3 days, while "enhancement" waits about 25 months. Only 7% of issues opened in the past year have been closed. Three people close 71% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 393
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 682 days
Stale 30+ days: 388
Stale 90+ days: 380

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • triage (2,250)
  • bug (1,562)
  • question (1,500)
  • invalid reproduction (681)
  • providers (510)
  • enhancement (462)
  • docs (392)
  • adapters (292)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

NextAuth.js is an open-source authentication library built on standard Web APIs that provides flexible authentication solutions for modern JavaScript applications across any framework, platform, and runtime. Written in TypeScript, the project serves as a comprehensive authentication toolkit designed to work with Next.js, Nuxt, Remix, SvelteKit, Solid.js, and other JavaScript frameworks. The repository is now part of Better Auth, though the maintainers recommend new projects start with Better Auth unless they require specific features like stateless session management without a database.

The library supports a wide range of authentication mechanisms including OAuth 2.0 and OpenID Connect providers, with built-in support for many popular sign-in services. It offers email and passwordless authentication options, passkeys and WebAuthn support, and can function with or without a database backend. This flexibility allows developers to implement stateless authentication with various backend systems including Active Directory and LDAP, or to use traditional database adapters supporting MySQL, MariaDB, Postgres, Microsoft SQL Server, MongoDB, SQLite, and GraphQL.

Security is a core design principle of NextAuth.js. The library implements CSRF token protection on POST routes for sign-in and sign-out operations, uses restrictive cookie policies by default, and encrypts JSON Web Tokens with A256CBC-HS512 encryption. It features tab and window synchronization along with session polling to support short-lived sessions, and the developers have worked to align the implementation with Open Web Application Security Project guidance.

The project maintains active community engagement with significant issue and pull request activity. The repository shares contributors with major projects including Microsoft's VSCode and TypeScript repositories as well as the Rust language project, suggesting it attracts experienced developers from across the ecosystem.

The codebase emphasizes type safety throughout, with TypeScript as the primary language. The library is designed to be secure by default while promoting passwordless sign-in mechanisms and allowing advanced configuration for custom authentication routines, token encoding and decoding, cookie security policies, and session validation logic. The project maintains an ISC license and welcomes community contributions through its established contributing guidelines.