diff --git a/.env b/.env index cc9943e..b9295e0 100644 --- a/.env +++ b/.env @@ -3,3 +3,6 @@ MONGODB_URI=mongodb://root:example@localhost:27017/ GOOGLE_ID=355397364527-adjrokm6hromcaaar0qfhk050mfr35ou.apps.googleusercontent.com GOOGLE_SECRET=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 AUTH_SECRET=Gh0jQ35oq6DR8HkLR3heA8EaEDtxYN/xkP6blvukZ0w= + +LINKEDIN_ID=776qlcsykl1rag +LINKEDIN_SECRET=ugf61aJ2iyErLK40 diff --git a/app/lib/auth.ts b/app/lib/auth.ts index f7f94b2..985194b 100644 --- a/app/lib/auth.ts +++ b/app/lib/auth.ts @@ -1,5 +1,6 @@ import NextAuth, { NextAuthConfig } from 'next-auth'; import GoogleProvider from 'next-auth/providers/google'; +import LinkedinProvider from 'next-auth/providers/linkedin'; import { Session } from 'next-auth'; import { AuthenticatedUser } from './types/next-auth'; import { defaultLocale } from '../i18n'; @@ -37,6 +38,10 @@ export const authConfig: NextAuthConfig = { clientId: process.env.GOOGLE_ID, clientSecret: process.env.GOOGLE_SECRET, }), + LinkedinProvider({ + clientId: process.env.LINKEDIN_ID, + clientSecret: process.env.LINKEDIN_SECRET, + }) ], secret: process.env.AUTH_SECRET, trustHost: true, // needs to be set to false for the NextJS to work behing Traefik diff --git a/app/ui/SignInButton.tsx b/app/ui/SignInButton.tsx index c0c9940..30ed47c 100644 --- a/app/ui/SignInButton.tsx +++ b/app/ui/SignInButton.tsx @@ -11,6 +11,7 @@ const providerLogo = (provider: {id:string, name:string}) => { case "github": return "https://authjs.dev/img/providers/github.svg"; case "twitter": return "https://authjs.dev/img/providers/twitter.svg"; case "email": return "https://authjs.dev/img/providers/email.svg"; + case "linkedin": return "https://authjs.dev/img/providers/linkedin.svg"; default: return "https://authjs.dev/img/providers/google.svg"; } } @@ -20,7 +21,7 @@ export const SignInButton:React.FC<{ provider: {id:string, name:string} }> = ({ const t = useTranslations("login-page"); return( -