标签: t3

T3 应用程序`? 无效的环境变量:`

我正在使用 T3-app(nextjs、tRPC 等),我不知道这些 env 变量错误是否刚刚发生,或者我之前是否没有注意到它们。但是,我在文件中设置了所有环境变量.env,并在文件中设置了以下配置schema.mjs

export const serverSchema = z.object({
    DATABASE_URL: z.string().url(),
    NODE_ENV: z.enum(["development", "test", "production"]),
    NEXTAUTH_SECRET: z.string(),
    NEXTAUTH_URL: z.preprocess(
        // This makes Vercel deployments not fail if you don't set NEXTAUTH_URL
        // Since NextAuth automatically uses the VERCEL_URL if present.
        (str) => process.env.VERCEL_URL ?? str,
        // VERCEL_URL doesnt include `https` so it cant be validated as a URL
        process.env.VERCEL ? z.string() : z.string().url(),
    ),
    GOOGLE_CLIENT_ID: z.string(),
    GOOGLE_CLIENT_SECRET: z.string(),
    STRIPE_SECRET_KEY: z.string(),
});

export const serverEnv = …
Run Code Online (Sandbox Code Playgroud)

environment-variables next.js t3 trpc.io

6
推荐指数
1
解决办法
2480
查看次数

Google OAuth 配置文件响应中缺少配置文件 ID - NextAuth

我正在关注本教程,了解如何在下一个身份验证会话中添加角色。不幸的是,当我添加profile属性时,我发现配置文件的未定义行为丢失。关于打字稿也有错误。这是我这边的错误,还是已知的错误,因为我找不到任何内容。

到目前为止,这是我的代码:

export const authOptions: AuthOptions = {
  secret: process.env.NEXT_PUBLIC_SECRET!,
  providers: [
    GoogleProvider({
      clientId: process.env.GOOGLE_CLIENT_ID!,
      clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
      // profile: async (profile) => {
      //   return { ...profile, role: profile.role ?? Role.USER };
      // },
    }),
  ],
  pages: {
    signIn: "/",
  },

  adapter: PrismaAdapter(prisma),
};
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,它与教程中的相同,当我注释掉配置文件部分时,我得到了没有角色的预期行为。任何帮助,将不胜感激!

Next.js 版本:13.4.1(应用程序目录)

typescript next.js prisma next-auth t3

3
推荐指数
1
解决办法
2442
查看次数