
HR价值网
中国人力资源品牌塑造与传播引领者,提供人力资源服务品牌传播与资讯。
Auth.js 是一个面向现代 Web 应用的开源身份验证框架。它的前身是 NextAuth.js,后来扩展为框架无关的解决方案,目前支持 Next.js、SvelteKit、SolidStart 等主流框架,也提供通用核心库供其他环境集成。
该项目的设计目标明确:将身份验证中最易出错的部分——会话管理、令牌刷新、OAuth 流程、数据库适配——封装为可配置的模块,同时保留足够的扩展空间应对业务差异。
Auth.js 支持四类认证方式,可单独或组合使用:
| 认证类型 | 适用场景 | 配置复杂度 |
|---|---|---|
| OAuth / OIDC | 第三方登录(Google、GitHub 等) | 低 |
| 无密码邮件链接登录 | 中 | |
| Credentials | 自定义用户名密码 | 中 |
| WebAuthn | 硬件密钥 / 生物识别 | 高 |
内置超过 80 个 OAuth 提供方的预设配置,覆盖从主流平台到小众服务的广泛范围。
框架通过适配器模式连接持久层。官方维护的适配器包括:
无数据库场景同样受支持,可使用 JWT 策略将会话状态编码在令牌中,省去服务端存储。
项目在安全方面采取了几项值得注意的默认策略:
state 与 pkce(对支持的服务)需要说明的是,安全默认值降低的是“无意中犯错”的概率,不代表部署后无需安全审查。
安装方式取决于目标框架。以 Next.js 为例:
npm install next-auth@beta
核心配置集中在单一文件中,通过导出一个处理函数完成初始化。配置项涵盖提供方列表、适配器、回调函数、事件钩子与自定义页面路径。
在无服务器环境(Vercel、Netlify、Cloudflare Workers)与自托管 Node 服务上均可运行。Edge Runtime 兼容性是项目近期迭代的重点方向之一。
Auth.js 适合以下场景:
以下场景可能需要额外评估:







