aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/lib/auth.ts
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-02-08 15:14:23 +0000
committerMohamedBassem <me@mbassem.com>2024-02-08 15:15:21 +0000
commit80bb8a108f29331cdb2f2695f6801beee104dc89 (patch)
treeb1ae2a512963a9c916c4bfed71f7633f508de131 /packages/web/lib/auth.ts
parent333429adbaaa592cc96b480a5228f0e3f1de4cc2 (diff)
downloadkarakeep-80bb8a108f29331cdb2f2695f6801beee104dc89.tar.zst
[refactor] Move the different packages to the package subdir
Diffstat (limited to 'packages/web/lib/auth.ts')
-rw-r--r--packages/web/lib/auth.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/packages/web/lib/auth.ts b/packages/web/lib/auth.ts
new file mode 100644
index 00000000..cd6404de
--- /dev/null
+++ b/packages/web/lib/auth.ts
@@ -0,0 +1,25 @@
+import NextAuth, { NextAuthOptions } from "next-auth";
+import { PrismaAdapter } from "@next-auth/prisma-adapter";
+import AuthentikProvider from "next-auth/providers/authentik";
+import serverConfig from "@/lib/config";
+import prisma from "@remember/db";
+
+let providers = [];
+
+if (serverConfig.auth.authentik) {
+ providers.push(AuthentikProvider(serverConfig.auth.authentik));
+}
+
+export const authOptions: NextAuthOptions = {
+ // Configure one or more authentication providers
+ adapter: PrismaAdapter(prisma),
+ providers: providers,
+ callbacks: {
+ session({ session, user }) {
+ session.user = { ...user };
+ return session;
+ },
+ },
+};
+
+export const authHandler = NextAuth(authOptions);