跳至内容
从 NextAuth.js v4 迁移?阅读 我们的迁移指南.
入门安装

安装 Auth.js

首先安装适合您框架的包。

npm install next-auth@beta

安装 @auth/core 是不必要的,作为用户,您永远不需要与 @auth/core 交互。

设置环境

唯一必不可少的环境变量是 AUTH_SECRET。这是一个随机值,库使用它来加密令牌和电子邮件验证哈希。(有关更多信息,请参阅 部署)。您可以通过官方 Auth.js CLI 运行来生成一个

npx auth secret

这也会将它添加到您的 .env 文件中,并尊重框架约定(例如:Next.js 的 .env.local)。

配置

接下来,创建 Auth.js 配置文件和对象。在这里,您可以控制库的行为并指定自定义身份验证逻辑、适配器等。我们建议所有框架在项目中创建一个 auth.ts 文件。在这个文件中,我们将所有选项传递给框架特定的初始化函数,然后导出路由处理程序、登录和登出方法等。

您可以随意命名此文件,并将其放在任何您喜欢的位置,这些只是我们想出来的约定。

  1. 首先,在您的应用程序的根目录中创建一个新的 auth.ts 文件,内容如下。
./auth.ts
import NextAuth from "next-auth"
 
export const { handlers, signIn, signOut, auth } = NextAuth({
  providers: [],
})
  1. /app/api/auth/[...nextauth]/route.ts 下添加一个路由处理程序。
💡

此文件必须是 App Router 路由处理程序,但是,如果您愿意,应用程序的其余部分可以保留在 page/ 下。

./app/api/auth/[...nextauth]/route.ts
import { handlers } from "@/auth" // Referring to the auth.ts we just created
export const { GET, POST } = handlers
  1. 添加可选的中介软件以保持会话处于活动状态,这将在每次调用时更新会话过期时间。
./middleware.ts
export { auth as middleware } from "@/auth"

设置身份验证方法

有了这些,基本设置就完成了!接下来,我们将设置第一个身份验证方法并填写 providers 数组。

Auth.js © Balázs Orbán 和团队 -2024