我正在尝试使用 supabase 实施受保护的路由。它正确登录用户,但当我尝试检索用户数据以验证用户身份时,我得到
{ user: null }
。有人可以帮忙解决一下吗?
import { redirect } from 'next/navigation'
import { createClient } from '@/utils/supabase/server'
export default async function PrivatePage() {
const supabase = createClient()
const result = await supabase.auth.signInWithPassword({
email: "[email protected]",
password: "ah3829et",
})
console.log(result)
const { data, error } = await supabase.auth.getUser()
console.log(data)
if (error || !data?.user) {
redirect('/login')
}
return <p>Hello {data.user.email}</p>
}
对我来说这很有效 supabase.auth.getSession();
但是如果你想在服务器组件中使用会话,你可能必须使用中间件来获取会话
检查这个 https://supabase.com/docs/guides/auth/server-side/nextjs