supabase icon indicating copy to clipboard operation
supabase copied to clipboard

Static Hosting: Client side only rendering gives error when signing in with email - pw

Open Wafje opened this issue 1 year ago • 6 comments

Version

@nuxtjs/supabase: 0.3.0 nuxt: 3.0.0

Reproduction Link

login.vue

<template>
    <div>
      <div>
        <form>
          <div>
            <div>
              <label for="email-address" class="sr-only">Email address</label>
              <input id="email-address" name="email" type="email" autocomplete="email" required="" v-model="formData.email" placeholder="Email address" />
            </div>
            <div>
              <label for="password" class="sr-only">Password</label>
              <input id="password" name="password" type="password" autocomplete="current-password" required="" v-model="formData.password" cplaceholder="Password" />
            </div>
          </div>
  
          <div>
            <button type="button" @click="login" >
              Sign in
            </button>
          </div>
        </form>
      </div>
    </div>
  </template>
  
<script setup>

definePageMeta({
    layout: 'none'
});

const client = useSupabaseAuthClient();
const user = useSupabaseUser();

const formData = reactive({ email: null, password: null });

watchEffect(async () => {
  if (user.value) {
    navigateTo("/");
  }
});

const login = async () => {
  try {
    const { error } = await client.auth.signInWithPassword(formData);
    
    if (error) throw error;
  } catch(error) {
    console.error(error)
  }
}
</script>

Steps to reproduce

  1. npm run generate to create Static Site (ssr: false)
  2. Run a webserver (vscode live server / upload to S3)
  3. sign in using email and pw (existing users ofcourse)

What is Expected?

nagivation to /

What is actually happening?

console:

Failed to load resource: the server responded with a status of 405 (Method Not Allowed)
entry.ca775e5e.js:5 Uncaught (in promise) FetchError: 405 Method Not Allowed (/api/_supabase/session)
    at async Object.callback (entry.ca775e5e.js:5:117643)

seems like useSupabaseUser().value is not updating. cookies and jwt are correctly stored though

Research

  • I have tried commenting out await setServerSession(event, session) from https://github.com/nuxt-modules/supabase/blob/c5b4a48c8b155580b77858ad6f3ad0c6af5ac2c0/src/runtime/plugins/supabase.client.ts#L30
  • That removed the error messages but the user object did not get updated.

Wafje avatar Jan 03 '23 18:01 Wafje