feat(auth): add additional sso providers
This commit is contained in:
parent
1d17f7329e
commit
0815440f72
2 changed files with 34 additions and 2 deletions
19
.env.example
19
.env.example
|
@ -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=
|
||||
|
|
17
src/auth.ts
17
src/auth.ts
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue