Capacidades de Desenvolvimento
Manage block access
Gerenciando Acesso de Loaders/Actions
Por padrão, todos os loaders e actions no deco.cx são publicamente acessíveis. No entanto, você pode precisar restringir o acesso a certos loaders/actions que lidam com operações sensíveis ou APIs privadas. Este guia explica como controlar a visibilidade de loaders/actions.
Opções de Visibilidade
Existem dois níveis de visibilidade disponíveis:
private: Pode ser invocado apenas no lado do servidor através doctx.invokepublic: Pode ser chamado tanto do servidor quanto do cliente através de:- Chamadas
invokeem tempo de execução - Acesso direto via path
/live/invoke/{path/to/block.ts}
- Chamadas
Definindo Visibilidade Padrão
Para definir o nível de visibilidade de um loader/action, exporte uma variável defaultVisibility :
// Torna o loader publicamente acessível
export const defaultVisibility = 'public'
// Torna o loader privado (apenas lado do servidor)
export const defaultVisibility = 'private'
Sobrescrevendo Visibilidade
Você pode sobrescrever as configurações de visibilidade padrão no seu arquivo fresh.config.ts usando a opção visibilityOverrides :
import { defineConfig } from "$fresh/server.ts";
import { plugins } from "deco/plugins/deco.ts";
import manifest from "./manifest.gen.ts";
export default defineConfig({
plugins: plugins<typeof manifest>({
manifest,
htmx: true,
visibilityOverrides: {
"site/loaders/minicart.ts": "public",
"vtex/loaders/cart.ts": "private"
},
}),
});
Boas Práticas de Segurança
Ao decidir os níveis de visibilidade:
Use private para
- Acessar APIs privadas/internas
- Operações envolvendo credenciais ou segredos
- Processamento de dados sensíveis de usuários/negócios
- Integrações backend que requerem autenticação
Use public para
- Leitura de dados públicos de produtos
- Busca de conteúdo público
- Carregamento de dados no lado do cliente
- Operações voltadas ao usuário que não expõem dados sensíveis
Documentação Relacionada
Found an error or want to improve this page?
Edit this page