Skip to content

Be aware when calling signUp on the server side #395

@oripka

Description

@oripka

I had code like this on the server side in an event handler. That failed the second request. The issue was, that signUp apparently assumes the role of the user that just signed up and so in the second request I don't have enough permissions. Just something to be aware of and maybe add to the docs.

import { serverSupabaseServiceRole } from '#supabase/server'
const client = serverSupabaseServiceRole<Database>(event)
const { data, error } = await client.auth.signUp({
  email: email,
  password: randomPassword,
})

const { data: vouchers, error } = await client
  .from('vouchers')
  .select('courseid, id')
  .eq('voucher', voucher)

The fix is to call signout after signUp to revert back to the service role.

// so we need to sign out
await client.auth.signOut()

Metadata

Metadata

Assignees

No one assigned

    Labels

    StalebugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions