跳到主要内容

如何在第三方平台设置回调 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 origins 和 Authorized redirect URIs 字段中,输入你的回调 URL,通常写法如下:

凭据

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

获取客户端 ID​

创建凭据后,在详情页面右侧会显示 Client ID 和 Client 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",
}),
]