簡體   English   中英

getServerSideProps 上的 Supbase 策略 - Next.js

[英]Supabase policies on getServerSideProps - Next.js

我正在使用 Next.js 和 Supabase 作為 BaaS 制作 Trello 克隆。

在我的 Supbase 表中,我有以下策略:

策略在客戶端使用以下代碼運行:

const { data } = await supabase
    .from<BoardType>('board')
    .select('*')
    .eq('id', board.id)
    .single();

我發現它使用匿名密鑰而不是 getSSProps 中經過身份驗證的 jwt 在數據庫上發送請求。 不知道為什么或是否是故意的。 如果您添加 role() = 'anon' 規則,它會起作用,但我認為這不是您想要的。

可能不是最好的方法,但這就是我通過這個 Github 討論的一些提示解決它的方法https://github.com/supabase/supabase/discussions/1094#discussioncomment-714633

據我了解,與瀏覽器(無會話)相比,服務器上的 Supabase 客戶端略有不同。 從 cookie 中提取令牌並將其添加到客戶端可以使對 supabase 的請求來自經過身份驗證的用戶。

export const getServerSideProps: GetServerSideProps = ({ req }) => {
  const { user, token } = await supabase.auth.api.getUserByCookie(req);
  supabase.auth.setAuth(token);

  const { data, error } = await supabase.from(...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM