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

uelo1irk  于 2023-06-05  发布在  Go
关注(0)|答案(1)|浏览(92)

我将按照tutorial来介绍如何在下一个认证会话中添加角色。不幸的是,当我添加profile属性时,我得到的配置文件的未定义行为缺失。还有一些关于 typescript 的错误。这是我这边的一个错误,还是一个已知的bug,因为我找不到任何东西。
以下是我目前为止的代码:

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),
};

正如你所看到的,它和教程中的一样,当我注解掉概要文件部分时,我得到了预期的行为,没有角色。任何帮助将不胜感激!
Next.js的版本:13.4.1(app目录)

omqzjyyz

omqzjyyz1#

我刚加了“id:我的GoogleProvider和我没有错误,因为

GoogleProvider({
            clientId: process.env.GOOGLE_ID,
            clientSecret: process.env.GOOGLE_SECRET,
            authorization: {
                params: {
                    prompt: "consent",
                    access_type: "offline",
                    response_type: "code"
                }
            },
            async profile(profile) {

                return {
                    id: profile.sub,
                    name: profile.name,
                    firstname: profile.given_name,
                    lastname: profile.family_name,
                    email: profile.email,
                    image: profile.picture,
                }
            },
        }),

相关问题