supabaseClient.auth.getUser returns null even if authenticated.
Heres my auth code:
+page.svelte
+page.server.ts
+page.svelte
<script lang="ts">
import type {User} from "@supabase/supabase-js";
import {onMount} from "svelte";
import {supabaseClient} from "$lib/supabase";
let currentUser = $state();
onMount(() => {
getUser();
})
async function getUser(){
const { data: user } = await supabaseClient.auth.getUser();
currentUser = user;
console.log(user);
}
</script>
<form method="POST" action="?/login">
<label>
Email
<input name="email" type="email" />
</label>
<label>
Password
<input name="password" type="password" />
</label>
<button>Login</button>
<button formaction="?/signup">Sign up</button>
</form><script lang="ts">
import type {User} from "@supabase/supabase-js";
import {onMount} from "svelte";
import {supabaseClient} from "$lib/supabase";
let currentUser = $state();
onMount(() => {
getUser();
})
async function getUser(){
const { data: user } = await supabaseClient.auth.getUser();
currentUser = user;
console.log(user);
}
</script>
<form method="POST" action="?/login">
<label>
Email
<input name="email" type="email" />
</label>
<label>
Password
<input name="password" type="password" />
</label>
<button>Login</button>
<button formaction="?/signup">Sign up</button>
</form>+page.server.ts
import { redirect } from '@sveltejs/kit'
import type { Actions } from './$types'
export const actions: Actions = {
signup: async ({ request, locals: { supabase } }) => {
const formData = await request.formData()
const email = formData.get('email') as string
const password = formData.get('password') as string
const { error } = await supabase.auth.signUp({ email, password })
if (error) {
console.error(error)
redirect(303, '/auth/error')
} else {
redirect(303, '/app')
}
},
login: async ({ request, locals: { supabase } }) => {
const formData = await request.formData()
const email = formData.get('email') as string
const password = formData.get('password') as string
const { error } = await supabase.auth.signInWithPassword({ email, password })
const { data: user } = await supabase.auth.getUser();
console.log(user);
if (error) {
console.error(error)
redirect(303, '/auth/error')
} else {
redirect(303, '/app')
}
},
}import { redirect } from '@sveltejs/kit'
import type { Actions } from './$types'
export const actions: Actions = {
signup: async ({ request, locals: { supabase } }) => {
const formData = await request.formData()
const email = formData.get('email') as string
const password = formData.get('password') as string
const { error } = await supabase.auth.signUp({ email, password })
if (error) {
console.error(error)
redirect(303, '/auth/error')
} else {
redirect(303, '/app')
}
},
login: async ({ request, locals: { supabase } }) => {
const formData = await request.formData()
const email = formData.get('email') as string
const password = formData.get('password') as string
const { error } = await supabase.auth.signInWithPassword({ email, password })
const { data: user } = await supabase.auth.getUser();
console.log(user);
if (error) {
console.error(error)
redirect(303, '/auth/error')
} else {
redirect(303, '/app')
}
},
}