Skip to content
需要从 NextAuth.js v4 升级到最新版本吗?请查阅 版本升级指南
入门安装

安装 Auth.js

首先为你的框架安装相应的 Auth.js 软件包。

npm install next-auth@beta

没有必要安装 @auth/core,因为作为使用者,你应该永远不会直接 使用 @auth/core 软件包。

环境设置

唯一必须设置的环境变量是 AUTH_SECRET。这是一个随机值,用于加密令牌(tokens)和电子邮件 验证哈希值。(详情请参见 部署 章节)。你可以通过运行官方提供的 Auth.js 命令行工具 自动生成一个:

npx auth secret

上述命令还会将生成的随机值添加到您的 .env 文件中,并遵守所用框架约定(例如:Next.js’ 是 .env.local 文件)。

配置

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

其实你可以给这个文件起任何你想要的名字,也可以把它放在任何你喜欢的地方, 但上面这些都是我们经过实践所形成的惯例。

  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/ 路由器的路由处理程序,但应用程序的其他部分 可以放在 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 数组。