feat: google oauth

This commit is contained in:
Henry
2024-05-07 22:33:36 +01:00
parent 23faa66d48
commit 3cf20cfb38
12 changed files with 269 additions and 107 deletions

View File

@@ -21,7 +21,7 @@ export const authRouter = createTRPCRouter({
return data;
}),
login: publicProcedure
loginWithEmail: publicProcedure
.input(z.object({ email: z.string() }))
.mutation(async ({ ctx, input }) => {
const { data } = await ctx.db.auth.signInWithOtp({
@@ -31,6 +31,24 @@ export const authRouter = createTRPCRouter({
},
});
return data;
}),
loginWithOAuth: publicProcedure
.input(z.object({ provider: z.string() }))
.mutation(async ({ ctx, input }) => {
if (input.provider !== "google") return null;
const { data } = await ctx.db.auth.signInWithOAuth({
provider: "google",
options: {
queryParams: {
access_type: "offline",
prompt: "consent",
},
redirectTo: `${env.WEBSITE_URL}/api/auth/confirm`,
},
});
return data;
}),
});