@@ -18,7 +18,6 @@ export const authOptions: any = {
1818 password : { label : "Password" , type : "password" } ,
1919 } ,
2020 async authorize ( credentials : any ) {
21-
2221 try {
2322 const user = await prisma . user . findFirst ( {
2423 where : {
@@ -31,73 +30,44 @@ export const authOptions: any = {
3130 user . password !
3231 ) ;
3332 if ( isPasswordCorrect ) {
34- return user ;
33+ return {
34+ id : user . id ,
35+ email : user . email ,
36+ role : user . role ,
37+ } ;
3538 }
3639 }
3740 } catch ( err : any ) {
3841 throw new Error ( err ) ;
3942 }
4043 } ,
4144 } )
42- // GithubProvider({
43- // clientId: process.env.GITHUB_ID ?? "",
44- // clientSecret: process.env.GITHUB_SECRET ?? "",
45- // }),
46- // GoogleProvider({
47- // clientId: process.env.GOOGLE_ID ?? "",
48- // clientSecret: process.env.GOOGLE_SECRET ?? "",
49- // }),
50- // ...add more providers here if you want. You can find them on nextauth website.
45+ // ... existing providers ...
5146 ] ,
5247 callbacks : {
5348 async signIn ( { user, account } : { user : AuthUser ; account : Account } ) {
5449 if ( account ?. provider == "credentials" ) {
5550 return true ;
5651 }
57- // if (account?.provider == "github") {
58-
59- // try {
60- // const existingUser = await prisma.user.findFirst({ where: {email: user.email!} });
61- // if (!existingUser) {
62-
63- // await prisma.user.create({
64- // data: {
65- // id: nanoid() + "",
66- // email: user.email!
67- // },
68- // });
69- // return true;
70- // }
71- // return true;
72- // } catch (err) {
73- // console.log("Error saving user", err);
74- // return false;
75- // }
76- // }
77-
78- // if (account?.provider == "google") {
79-
80- // try {
81- // const existingUser = await prisma.user.findFirst({where: { email: user.email! }});
82- // if (!existingUser) {
83- // await prisma.user.create({
84- // data: {
85- // id: nanoid() + "",
86- // email: user.email!
87- // },
88- // });
89-
90- // return true;
91- // }
92- // return true;
93- // } catch (err) {
94- // console.log("Error saving user", err);
95- // return false;
96- // }
97- // }
52+ // ... existing provider logic ...
9853 } ,
54+ async jwt ( { token, user } ) {
55+ if ( user ) {
56+ token . role = user . role ;
57+ }
58+ return token ;
59+ } ,
60+ async session ( { session, token } ) {
61+ if ( token ) {
62+ session . user . role = token . role ;
63+ }
64+ return session ;
65+ } ,
66+ } ,
67+ pages : {
68+ signIn : '/login' ,
9969 } ,
10070} ;
10171
10272export const handler = NextAuth ( authOptions ) ;
103- export { handler as GET , handler as POST } ;
73+ export { handler as GET , handler as POST } ;
0 commit comments