@@ -2,37 +2,43 @@ import { betterAuth } from "better-auth";
22import { prismaAdapter } from "better-auth/adapters/prisma" ;
33import { getCloudflareContext } from "@opennextjs/cloudflare" ;
44import { anonymous } from "better-auth/plugins" ;
5- import prisma from "./prisma" ;
65import { migrateChatUser } from "./chatHistory" ;
6+ import { PrismaClient } from "@prisma/client" ;
77
8- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9- let cloudflareEnv : any ;
10- try {
11- cloudflareEnv = getCloudflareContext ( ) . env ;
12- } catch {
13- // @better -auth/cli generate を実行する際には initOpenNextCloudflareForDev がセットアップされていない環境になっている
14- cloudflareEnv = { } ;
15- }
16- export const auth = betterAuth ( {
17- database : prismaAdapter ( prisma , {
18- provider : "postgresql" ,
19- } ) ,
20- plugins : [
21- anonymous ( {
22- onLinkAccount : ( { anonymousUser, newUser } ) =>
23- migrateChatUser ( anonymousUser . user . id , newUser . user . id ) ,
8+ export async function getAuthServer ( prisma : PrismaClient ) {
9+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
10+ let cloudflareEnv : any ;
11+ try {
12+ cloudflareEnv = getCloudflareContext ( ) . env ;
13+ } catch {
14+ // @better -auth/cli generate を実行する際には initOpenNextCloudflareForDev がセットアップされていない環境になっている
15+ cloudflareEnv = { } ;
16+ }
17+ return betterAuth ( {
18+ database : prismaAdapter ( prisma , {
19+ provider : "sqlite" ,
2420 } ) ,
25- ] ,
26- socialProviders : {
27- github : {
28- clientId : process . env . GITHUB_CLIENT_ID ?? cloudflareEnv . GITHUB_CLIENT_ID ,
29- clientSecret :
30- process . env . GITHUB_CLIENT_SECRET ?? cloudflareEnv . GITHUB_CLIENT_SECRET ,
31- } ,
32- google : {
33- clientId : process . env . GOOGLE_CLIENT_ID ?? cloudflareEnv . GOOGLE_CLIENT_ID ,
34- clientSecret :
35- process . env . GOOGLE_CLIENT_SECRET ?? cloudflareEnv . GOOGLE_CLIENT_SECRET ,
21+ plugins : [
22+ anonymous ( {
23+ onLinkAccount : ( { anonymousUser, newUser } ) =>
24+ migrateChatUser ( anonymousUser . user . id , newUser . user . id ) ,
25+ } ) ,
26+ ] ,
27+ socialProviders : {
28+ github : {
29+ clientId :
30+ process . env . GITHUB_CLIENT_ID ?? cloudflareEnv . GITHUB_CLIENT_ID ,
31+ clientSecret :
32+ process . env . GITHUB_CLIENT_SECRET ??
33+ cloudflareEnv . GITHUB_CLIENT_SECRET ,
34+ } ,
35+ google : {
36+ clientId :
37+ process . env . GOOGLE_CLIENT_ID ?? cloudflareEnv . GOOGLE_CLIENT_ID ,
38+ clientSecret :
39+ process . env . GOOGLE_CLIENT_SECRET ??
40+ cloudflareEnv . GOOGLE_CLIENT_SECRET ,
41+ } ,
3642 } ,
37- } ,
38- } ) ;
43+ } ) ;
44+ }
0 commit comments