[英]Next.js GetServerSideProps custom wrapper TypeScript
[英]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.