插件配置
插件配置禁用内省

禁用内省

内省的 __schema 字段在访问控制列表中公开:

Access Control List 中的 __schema 字段

这使我们可以按照任意已有规则,为单一端点自定义端点禁用内省,例如:

  • 始终禁用
  • 对已登出用户禁用
  • 对不具备特定角色或权限的用户禁用

在 Access Control List 中禁用 __schema 字段

例如,在禁用对 __schema 的访问后打开自定义端点上的 GraphiQL 客户端,会出现错误:

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 }

内省被禁用导致的 GraphiQL 错误