如何与 supabase 进行会话?

问题描述 投票:0回答:1

我正在尝试使用 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>
}
typescript authentication next.js supabase
1个回答
0
投票

对我来说这很有效 supabase.auth.getSession();

但是如果你想在服务器组件中使用会话,你可能必须使用中间件来获取会话

检查这个 https://supabase.com/docs/guides/auth/server-side/nextjs

© www.soinside.com 2019 - 2024. All rights reserved.