Optionalconfig: Omit<WithSupabaseConfig, "cors">Auth modes and optional environment overrides. CORS is excluded — use H3's CORS utilities.
An H3 middleware.
import { H3 } from 'h3'
import { withSupabase } from '@supabase/server/adapters/h3'
const app = new H3()
app.use(withSupabase({ allow: 'user' }))
app.get('/games', async (event) => {
const { supabase } = event.context.supabaseContext
return supabase.from('favorite_games').select()
})
export default { fetch: app.fetch }
import { defineHandler } from 'h3'
import { withSupabase } from '@supabase/server/adapters/h3'
export default defineHandler({
middleware: [withSupabase({ allow: 'user' })],
handler: async (event) => {
const { supabase } = event.context.supabaseContext
return supabase.from('favorite_games').select()
},
})
H3 middleware that creates a SupabaseContext and stores it in
event.context.supabaseContext.Skips if a previous middleware already set the context, enabling chained middleware via
app.use(). Throws anHTTPErroron auth failure.