Conecte o cliente JavaScript
Prepare o ambiente
Inicialize o supabase-js, grave uma tarefa autenticada e consulte os registros permitidos pelas políticas.
- Conclua as etapas anteriores da trilha em um projeto de estudo.
O cliente supabase-js conecta a aplicação à API do projeto. Instale o pacote no diretório da aplicação com npm install @supabase/supabase-js. Preserve o arquivo de lock para registrar a versão instalada.
Inicialize uma única conexão
O exemplo abaixo usa Vite. Configure VITE_SUPABASE_URL e VITE_SUPABASE_PUBLISHABLE_KEY no arquivo local de ambiente. Esses valores entram no código do navegador, portanto use somente a chave publishable.
import { createClient } from '@supabase/supabase-js'export const supabase = createClient( import.meta.env.VITE_SUPABASE_URL, import.meta.env.VITE_SUPABASE_PUBLISHABLE_KEY)Outros frameworks têm convenções próprias para variáveis públicas. Mantenha o endereço e a chave do mesmo projeto que recebeu a tabela. Reinicie o servidor de desenvolvimento da sua aplicação quando necessário para carregar a configuração.
Grave uma tarefa autenticada
Depois do login mostrado na etapa de Auth, execute a inserção. O identificador vem da sessão validada pelo serviço. A política do banco confere se ele corresponde à linha.
const { data: { user }, error: erroSessao } = await supabase.auth.getUser()if (erroSessao || !user) throw new Error('Entre na aplicação para criar uma tarefa.')const { data: tarefa, error } = await supabase .from('tarefas') .insert({ user_id: user.id, titulo: 'Conferir a política de leitura' }) .select('id, titulo, concluida') .single()if (error) throw errorconsole.log(tarefa)O encadeamento select solicita o registro inserido. A política de leitura da trilha permite esse retorno para a mesma sessão.
Consulte e confira o isolamento
const { data: tarefas, error } = await supabase .from('tarefas') .select('id, titulo, concluida') .order('criada_em', { ascending: false })if (error) throw errorconsole.log(tarefas)Repita essa consulta com os dois cadastros de teste. Cada sessão deve receber suas próprias tarefas. O exemplo registra a resposta no console para facilitar a conferência, mas sua interface precisa apresentar carregamento, lista vazia e mensagem de erro.
Uma lista vazia também pode indicar que a sessão ainda não criou tarefas. Confira a identidade e o projeto usados pela chamada antes de alterar a política.
Confira o resultado
A inserção retorna uma tarefa e a consulta lista somente os registros da sessão autenticada.
Fontes consultadas
Procedimento conferido na documentação oficial. A execução em uma instância Supabase não foi realizada nesta revisão.
