Configurar o plugin
Configurar o pluginDesabilitando a introspecção

Desabilitando a introspecção

O campo de introspecção __schema é exposto nas Listas de Controle de Acesso:

Campo __schema na Access Control List

Isso nos permite desabilitar a introspecção para o single endpoint ou custom endpoints, seguindo qualquer uma das regras já disponíveis, como:

  • Desabilitar sempre
  • Desabilitar para usuários não autenticados
  • Desabilitar para usuários sem um determinado papel ou capacidade

Desabilitando o campo __schema na Access Control List

Por exemplo, ao abrir o cliente GraphiQL em um custom endpoint após desabilitar o acesso a __schema, obtemos um erro:

Uncaught (in promise) Error: Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: { __schema: null }

Erro do GraphiQL causado pela introspecção desabilitada