Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- export const authOptions: NextAuthOptions = {
- callbacks: {
- async jwt({token, user, account, profile}) {
- // user &&
- console.log("user1",user);
- (token = {...token, ...user});
- return token;
- },
- async session({session, token}) {
- const user = await db.select().from(users).where(eq(users.email, token.email))
- console.log("user2",user)
- // if (!user ) {
- // return null;
- // }
- return {
- name: user[0].name,
- surname: user[0].surname,
- id: user[0].id,
- email: user[0].email,
- delivery: {
- city: user[0].city,
- address: user[0].address,
- postal_code: user[0].postal_code
- },
- }
- },
- },
- pages: {
- //signOut: '/api/auth/signout',
- newUser: "/api/auth/register"
- },
- session: {
- jwt: true,
- strategy: "jwt"
- },
- jwt: {
- maxAge: 60 * 60 * 24 * 30 * 6,
- },
- secret: env.NEXTAUTH_SECRET,
- adapter: DrizzleAdapter(db, pgTable),
- providers: [
- DiscordProvider({
- clientId: env.DISCORD_CLIENT_ID,
- clientSecret: env.DISCORD_CLIENT_SECRET,
- }),
- GoogleProvider({
- clientId: env.GOOGLE_CLIENT_ID,
- clientSecret: env.GOOGLE_CLIENT_SECRET
- }),
- CredentialsProvider({
- name: "credentials",
- authorize: async (credentials, token, session) => {
- const creds = await signInSchema.parseAsync(credentials);
- const user = await db.select().from(users).where(eq(users.email, creds.email));
- if (!user[0]) {
- return null;
- }
- console.log("user: ", user[0])
- const isValidPassword = await verify(user[0].password!, creds.password);
- if (!isValidPassword) {
- return null;
- }
- return {
- user: {
- name: user[0].name,
- surname: user[0].surname,
- id: user[0].id,
- email: user[0].email,
- isStaff: user[0].isStaff,
- delivery: {
- city: user[0].city,
- address: user[0].address,
- postal_code: user[0].postal_code
- },
- }
- }
- },
- type: "credentials"
- }),
- ],
- };
- export const getServerAuthSession = () => getServerSession(authOptions);
Advertisement
Add Comment
Please, Sign In to add comment