Auth session missing

Hey everyone, I’m having an issue with password resets in Mobile Safari. When a user taps on the Supabase “reset password” link (while not logged in), they land on my Next.js client-side page and attempt to set a new password. However, calling supabase.auth.updateUser({ password }) returns an error: Auth session missing!.

This works fine in desktop browsers and havent get this error on other mobile browser, so I’m unsure if something else is causing a missing/invalid ephemeral session on the user’s device. My code snippet:

import { createBrowserClient } from '@supabase/ssr';

const SUPABASE_URL = process.env.NEXT_PUBLIC_SUPABASE_URL as string;
const SUPABASE_ANON_KEY = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY as string;

export default function createSupabaseBrowserClient() {
  return createBrowserClient(SUPABASE_URL, SUPABASE_ANON_KEY);
}


const onSubmit = async (values: z.infer<typeof NewPasswordSchema>) => {
  const supabase = createSupabaseBrowserClient();
  const { error } = await supabase.auth.updateUser({
    password: values.password,
  });

  if (error) {
    console.error('ERROR_UPDATING_PASSWORD', error.message);
    return;
  }

  router.push('/');
};


Has anyone else seen “Auth session missing!” on mobile Safari with Supabase’s built-in password reset flow? Is it a known Safari quirk/in-app browser issue, or might I be missing something in my Next.js client-side setup? Any suggestions for a workaround or fix?
Was this page helpful?