diff options
| author | Bertrand Yuan <bert.yuan@outlook.com> | 2025-12-15 23:48:10 +0800 |
|---|---|---|
| committer | Bertrand Yuan <bert.yuan@outlook.com> | 2025-12-15 23:48:10 +0800 |
| commit | 5b7ccf0b671e2999b62befc729a3e517a0433728 (patch) | |
| tree | 8bf476dc7c75914c221042546840dc76267366df /src/server/auth/index.ts | |
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.
Diffstat (limited to 'src/server/auth/index.ts')
| -rw-r--r-- | src/server/auth/index.ts | 39 |
1 files changed, 39 insertions, 0 deletions
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(), + }); +}; |
