import NextAuth from 'next-auth' export default NextAuth({ // Configure one or more authentication providers providers: [ // GithubProvider({ // clientId: process.env.GITHUB_ID, // clientSecret: process.env.GITHUB_SECRET, // // @ts-expect-error // scope: 'user,gist' // }), { id: 'github', name: 'GitHub', type: 'oauth', clientId: process.env.GITHUB_ID, clientSecret: process.env.GITHUB_SECRET, authorization: 'https://github.com/login/oauth/authorize?scope=read:user+user:email+gist', token: 'https://github.com/login/oauth/access_token', userinfo: 'https://api.github.com/user', profile(profile) { return { id: profile.id.toString(), name: profile.name || profile.login, username: profile.login, email: profile.email, image: profile.avatar_url } } } // ...add more providers here ], callbacks: { async jwt({ token, user, account, profile, isNewUser }) { if (account && account.access_token) { token.accessToken = account.access_token token.username = user?.username || '' } return token }, async session({ session, token }) { session.accessToken = token.accessToken as string session['user']['username'] = token.username as string return session } } })