import Layout from "../components/layout" import { useState, useEffect } from "react" import { useSession } from "next-auth/react" import { createClient } from "@supabase/supabase-js" export default function Page() { const { data: session } = useSession() const [data, setData] = useState(null) useEffect(() => { if (session) { // User is logged in, let's fetch their data. const { supabaseAccessToken } = session const supabase = createClient( process.env.NEXT_PUBLIC_SUPABASE_URL, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY, { global: { headers: { Authorization: `Bearer ${supabaseAccessToken}` }, }, } ) // Fetch data with RLS enabled. supabase .from("users") .select("*") .then(({ data }) => setData(data)) } }, [session]) return (

Fetch Data from Supabase with RLS

Client-side data fetching with RLS:

{JSON.stringify(data, null, 2)}

API Example

You can also use Supabase in API routes. See the code in the `/pages/api/examples/supabase-rls.js` file.

You must be signed in to see responses.

/api/examples/supabase-rls