From 5b7ccf0b671e2999b62befc729a3e517a0433728 Mon Sep 17 00:00:00 2001 From: Bertrand Yuan Date: Mon, 15 Dec 2025 23:48:10 +0800 Subject: initial commit -- the front-end prototype The initial code is base on Anirudh's work. More to see at: https://github.com/techwithanirudh/shadcn-blog Therefore, the code in this commit is under MIT license. --- src/server/auth/index.ts | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/server/auth/index.ts (limited to 'src/server/auth') diff --git a/src/server/auth/index.ts b/src/server/auth/index.ts new file mode 100644 index 0000000..9131cbb --- /dev/null +++ b/src/server/auth/index.ts @@ -0,0 +1,39 @@ +import { betterAuth } from 'better-auth'; +import { drizzleAdapter } from 'better-auth/adapters/drizzle'; +import { headers } from 'next/headers'; + +import { env } from '@/env'; +import { db } from '@/server/db'; + +export const auth = betterAuth({ + database: drizzleAdapter(db, { + provider: 'pg', + usePlural: true, + }), + socialProviders: { + google: { + clientId: env.GOOGLE_CLIENT_ID, + clientSecret: env.GOOGLE_CLIENT_SECRET, + }, + github: { + clientId: env.GITHUB_CLIENT_ID, + clientSecret: env.GITHUB_CLIENT_SECRET, + }, + }, + user: { + additionalFields: { + role: { + type: 'string', + required: true, + input: false, + defaultValue: 'user', + }, + }, + }, +}); + +export const getSession = async () => { + return await auth.api.getSession({ + headers: await headers(), + }); +}; -- cgit v1.2.3