NodeJS Next-auth Github Provider Consume profile in Frontend

kwvwclae  于 2023-05-28  发布在  Node.js
关注(0)|答案(1)|浏览(240)

根据官方文档next-auth Github Provider,我设法为我的应用程序实现了Next-auth Github提供商的SSO。Client API文档建议使用useSession()来获取会话,但没有返回Github username(这是我需要的)。因此,我所做的就是覆盖配置文件响应(参见下面的代码片段)。正如你所看到的,我记录了配置文件,但只是在终端输出上。
所以我想知道如何在前端消费profile数据。
谢谢

export default NextAuth({
  providers: [
    GithubProvider({
      clientId: process.env.CLIENT_ID,
      clientSecret: process.env.CLIENT_SECRET,
      async profile(profile: GithubProfile) {
        console.log('profile', profile)
        return {
          id: profile.id.toString(),
          name: profile.name,
          userName: profile.login,
          email: profile.email,
          image: profile.avatar_url,
        }
      },
    }),
  ],
})
r7s23pms

r7s23pms1#

如果你想在客户端获取配置文件数据,你可以通过以下方式:
1.在SSR中获取数据并将其发送到客户端
1.在客户端发出一个API请求,在/api/路径中发出一个API处理程序,以发送对请求的响应,并仅在后端使用client_secret,并将配置文件数据发送到客户端。
1.(推荐)->创建一个API处理程序,并使用JWT方法将数据保存在cookie中。这对服务器来说是安全的和好的。因为你不必每次都要求取。你的秘密数据将是秘密的:)

相关问题