feat(auth): add additional sso providers
All checks were successful
container-scan / Container Scan (pull_request) Successful in 2m18s
docker-build / docker (pull_request) Successful in 3m25s
tests / Tests (pull_request) Successful in 2m45s

This commit is contained in:
Dominik 2025-06-30 09:49:28 +02:00
parent 1d17f7329e
commit 0815440f72
Signed by: dominik
GPG key ID: 06A4003FC5049644
2 changed files with 34 additions and 2 deletions

View file

@ -6,4 +6,23 @@ AUTH_AUTHENTIK_ID=
AUTH_AUTHENTIK_SECRET=
AUTH_AUTHENTIK_ISSUER=
AUTH_DISCORD_ID=
AUTH_DISCORD_SECRET=
AUTH_FACEBOOK_ID=
AUTH_FACEBOOK_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
AUTH_GITLAB_ID=
AUTH_GITLAB_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
AUTH_KEYCLOAK_ID=
AUTH_KEYCLOAK_SECRET=
AUTH_KEYCLOAK_ISSUER=
NEXT_PUBLIC_APP_URL=

View file

@ -2,8 +2,15 @@ import NextAuth, { CredentialsSignin } from 'next-auth';
import { Prisma } from '@/generated/prisma';
import type { Provider } from 'next-auth/providers';
import Credentials from 'next-auth/providers/credentials';
import Authentik from 'next-auth/providers/authentik';
import AuthentikProvider from 'next-auth/providers/authentik';
import DiscordProvider from 'next-auth/providers/discord';
import FacebookProvider from 'next-auth/providers/facebook';
import GithubProvider from 'next-auth/providers/github';
import GitlabProvider from 'next-auth/providers/gitlab';
import GoogleProvider from 'next-auth/providers/google';
import KeycloakProvider from 'next-auth/providers/keycloak';
import { PrismaAdapter } from '@auth/prisma-adapter';
import { prisma } from '@/prisma';
@ -88,7 +95,13 @@ const providers: Provider[] = [
}
},
}),
process.env.AUTH_AUTHENTIK_ID && Authentik,
process.env.AUTH_AUTHENTIK_ID && AuthentikProvider,
process.env.AUTH_DISCORD_ID && DiscordProvider,
process.env.AUTH_FACEBOOK_ID && FacebookProvider,
process.env.AUTH_GITHUB_ID && GithubProvider,
process.env.AUTH_GITLAB_ID && GitlabProvider,
process.env.AUTH_GOOGLE_ID && GoogleProvider,
process.env.AUTH_KEYCLOAK_ID && KeycloakProvider,
].filter(Boolean) as Provider[];
export const providerMap = providers