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..91620e8 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"; } } diff --git a/docker-compose-deploy.yml b/docker-compose-deploy.yml index cbb9130..cf932fe 100644 --- a/docker-compose-deploy.yml +++ b/docker-compose-deploy.yml @@ -20,6 +20,8 @@ services: GOOGLE_ID: 355397364527-adjrokm6hromcaaar0qfhk050mfr35ou.apps.googleusercontent.com GOOGLE_SECRET: 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 AUTH_SECRET: Gh0jQ35oq6DR8HkLR3heA8EaEDtxYN/xkP6blvukZ0w= + LINKEDIN_ID: 776qlcsykl1rag + LINKEDIN_SECRET: ugf61aJ2iyErLK40 HOSTNAME: rezije.app # IP address at which the server will be listening (0.0.0.0 = listen on all addresses) NEXTAUTH_URL: https://rezije.app # URL next-auth will use while redirecting user during authentication (if not set - will use HOSTNAME) PORT: ${PORT:-80}