From 1f0e6e074ab47ce42fe989f918622a66dd3f89ed Mon Sep 17 00:00:00 2001 From: "tabler.developer@gmail.com" Date: Tue, 15 Aug 2023 16:26:15 +0200 Subject: [PATCH] add google provider --- site/.env.example | 2 ++ site/app/(entry)/signin/page.tsx | 2 +- site/app/(entry)/signup/page.tsx | 2 +- site/components/{layout => }/Signin.tsx | 8 +++++++- site/components/{layout => }/Signup.tsx | 0 site/lib/auth.ts | 7 ++++++- 6 files changed, 17 insertions(+), 4 deletions(-) rename site/components/{layout => }/Signin.tsx (85%) rename site/components/{layout => }/Signup.tsx (100%) diff --git a/site/.env.example b/site/.env.example index 72d6e7d4..a48c67e8 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 759b121d..e8d5448e 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 0f9c3a15..51a5008c 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 b3725df0..2ad7e904 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 fdc99a57..c32f2d4e 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', -- GitLab