export const auth = betterAuth({
session: {
expiresIn: 15 * 60,
updateAge: 15 * 60
},
database: new Pool({
connectionString: process.env.DATABASE_URL
}),
plugins: [
customSession(async ({ session, user }) => {
const supabase = await createClient()
const { data, error } = await supabase.from('account').select('*').eq('userId', user.id).single()
if (error) throw new Error(error.message)
return {
user,
session: {
...session,
accessToken: data.accessToken
}
}
}),
genericOAuth({
config: [
{
clientId: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
providerId: 'customOAuth2ProviderId',
scopes: ['openid'],
authorizationUrl: `${process.env.AUTHORIZATION_URL}`,
tokenUrl: `${process.env.TOKEN_URL}`,
userInfoUrl: `${process.env.USER_INFO_URL}`
}
]
})
]
})
export const auth = betterAuth({
session: {
expiresIn: 15 * 60,
updateAge: 15 * 60
},
database: new Pool({
connectionString: process.env.DATABASE_URL
}),
plugins: [
customSession(async ({ session, user }) => {
const supabase = await createClient()
const { data, error } = await supabase.from('account').select('*').eq('userId', user.id).single()
if (error) throw new Error(error.message)
return {
user,
session: {
...session,
accessToken: data.accessToken
}
}
}),
genericOAuth({
config: [
{
clientId: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
providerId: 'customOAuth2ProviderId',
scopes: ['openid'],
authorizationUrl: `${process.env.AUTHORIZATION_URL}`,
tokenUrl: `${process.env.TOKEN_URL}`,
userInfoUrl: `${process.env.USER_INFO_URL}`
}
]
})
]
})