我已经在 vercel 中设置了环境变量:
NEXTAUTH_URL=https://example.vercel.app (production)
NEXTAUTH_URL=http://localhost:3000 (development)
提供者(google)仪表板(console.cloud.google.com)中的授权重定向网址:
https://example.vercel.app/api/auth/callback/google
http://localhost:3000/api/auth/callback/google
当我点击我的登录按钮时,它重定向到这个网址:https://example.vercel.app/api/auth/error 并显示“找不到此页面”。我也尝试将这些值作为 EV:
NEXTAUTH_URL=https://example.vercel.app/api/auth
NEXTAUTH_URL=https://example.vercel.app/api/auth/signin
但我的错误仍然存在。在开发中(本地主机:3000)我能够成功登录。当我单击登录按钮时,它会将我重定向到此 URL:
http://localhost:3000/api/auth/signin?callbackUrl=http%3A%2F%2Flocalhost%3A3000%2F
并显示:
我的身份验证 API:
pages/api/auth/[...nextauth].js: ==>
import NextAuth from "next-auth";
import Providers from "next-auth/providers";
export default NextAuth({
providers: [
Providers.Google({
clientId: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
}),
],
session: {
jwt: {
signingKey: {
kty: "oct",
kid: `${process.env.kid}`,
alg: "HS512",
k: `${process.env.k}`,
},
secret: `${process.env.SECRET}`,
},
},
debug: true,
theme: "dark",
});
如何解决这个问题?我错过了什么吗?