diff --git a/site/.env.example b/site/.env.example index 72d6e7d461c62a8a0f7132fb3327909959a56bec..a48c67e82d7fb18403f5cdfffcfc1d96338338d0 100644 --- a/site/.env.example +++ b/site/.env.example @@ -32,6 +32,8 @@ POSTGRES_DATABASE="" # Providers GITHUB_ID="" GITHUB_SECRET="" +GOOGLE_ID="" +GOOGLE_SECRET="" # Auth config NEXTAUTH_SECRET="" diff --git a/site/app/(entry)/signin/page.tsx b/site/app/(entry)/signin/page.tsx index 759b121de67cfea66f1b165b54749e1db5d151d2..e8d5448e79299aba2361b538105cbaf9e99866cf 100644 --- a/site/app/(entry)/signin/page.tsx +++ b/site/app/(entry)/signin/page.tsx @@ -1,4 +1,4 @@ -import Signin from '@/components/layout/Signin'; +import Signin from '@/components/Signin'; export const metadata = { title: 'Tabler Sign in', diff --git a/site/app/(entry)/signup/page.tsx b/site/app/(entry)/signup/page.tsx index 0f9c3a154fe5be5b4ff0ea0ce489872fa66e6645..51a5008c968d7196b387178a7bb2fcd02056b3a7 100644 --- a/site/app/(entry)/signup/page.tsx +++ b/site/app/(entry)/signup/page.tsx @@ -1,4 +1,4 @@ -import Signup from '@/components/layout/Signup'; +import Signup from '@/components/Signup'; export const metadata = { title: 'Tabler Sign up', diff --git a/site/components/layout/Signin.tsx b/site/components/Signin.tsx similarity index 85% rename from site/components/layout/Signin.tsx rename to site/components/Signin.tsx index b3725df0edec82445dd5726ad0827c6884c9a55e..2ad7e904c98c8965dca2b3f5d8f439bab587350a 100644 --- a/site/components/layout/Signin.tsx +++ b/site/components/Signin.tsx @@ -8,7 +8,7 @@ import { signIn } from 'next-auth/react'; export default function Signin() { const router = useRouter();'/'; - const handleLogin = async (provider: 'github'): Promise => { + const handleLogin = async (provider: 'github' | 'google'): Promise => { await signIn(provider, {callbackUrl: '/'}); }; @@ -47,6 +47,12 @@ export default function Signin() { Login with Github +
+ handleLogin('google')} className="btn w-100"> + {/* */} + Login with Google + +
diff --git a/site/components/layout/Signup.tsx b/site/components/Signup.tsx similarity index 100% rename from site/components/layout/Signup.tsx rename to site/components/Signup.tsx diff --git a/site/lib/auth.ts b/site/lib/auth.ts index fdc99a57047733ce99accfafd14f01f4a52890aa..c32f2d4e6e8f415bf4f450cfab7d53a5fd92bafe 100644 --- a/site/lib/auth.ts +++ b/site/lib/auth.ts @@ -1,6 +1,7 @@ +import prisma from '@/lib/prisma'; import { PrismaAdapter } from '@next-auth/prisma-adapter'; import GitHubProvider from 'next-auth/providers/github'; -import prisma from '@/lib/prisma'; +import GoogleProvider from 'next-auth/providers/google'; export const authConfig = { providers: [ @@ -8,6 +9,10 @@ export const authConfig = { clientId: process.env.GITHUB_ID as string, clientSecret: process.env.GITHUB_SECRET as string, }), + GoogleProvider({ + clientId: process.env.GOOGLE_ID as string, + clientSecret: process.env.GOOGLE_SECRET as string, + }), ], pages: { signIn: '/signin',