跳到主要内容

如何在第三方平台设置回调 URL

NextAuth.js 文档中,Providers 部分列出了 NextAuth 目前支持的第三方认证平台及其调用方式。

Google OAuth

让我们以最常用的 OAuth 平台 Google 为例。 你也可以参考 Google 的文档来配置 OAuth2。

创建凭据

前往 Google API 页面,在凭据部分创建凭据。选择 OAuth client ID

创建 OAuth client ID页面,首先选择应用类型

OneDayBuild 是 SaaS 模式,所以这里我们选择 Web application

Authorized JavaScript originsAuthorized redirect URIs 字段中,输入你的回调 URL,通常写法如下:

凭据

https://oneday.build 替换为你的网站域名。

获取客户端 ID

创建凭据后,在详情页面右侧会显示 Client IDClient secret

Client ID 和 Client secret

你需要将这两个密钥填写到 .env 文件中相应的位置。

常见问题

我的朋友经常遇到认证失败,报错如下。

访问被阻止

这是因为在 Google 注册的 redirect_uri 与网站的 URL 不匹配。为确保两者一致,建议在 /api/auth/[...nextauth]/ 中的 GoogleProvider 配置信息中加入 callbackURL

providers: [
GoogleProvider({
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: "https://www.oneday.build/api/auth/callback/google",
}),
]