Optionalconfig: Omit<WithSupabaseConfig, "cors">Auth modes and optional environment overrides. CORS is excluded — use Elysia's CORS utilities.
An Elysia plugin that exposes supabaseContext.
import { Elysia } from 'elysia'
import { withSupabase } from '@supabase/server/adapters/elysia'
const app = new Elysia()
.use(withSupabase({ allow: 'user' }))
.get('/games', async ({ supabaseContext }) => {
const { data } = await supabaseContext.supabase.from('favorite_games').select()
return data
})
app.listen(3000)
import { Elysia } from 'elysia'
import { withSupabase } from '@supabase/server/adapters/elysia'
const app = new Elysia()
.get('/health', () => ({ status: 'ok' }))
.group('/api', (app) =>
app
.use(withSupabase({ allow: 'user' }))
.get('/profile', async ({ supabaseContext }) => {
return supabaseContext.userClaims
})
)
app.listen(3000)
Elysia plugin that creates a SupabaseContext and makes it available in route handlers.
Skips if a previous plugin already set the context, enabling route-level overrides. Throws a
SupabaseErroron auth failure..statusis on the error directly; the originalAuthErroris available as the typed.cause. Discriminate inonErrorviacode === 'SupabaseError'.