WpgraphQL Viewer查询始终返回null问题求助
解决WPGraphQL查询viewer返回null的问题
你的查询语句本身没有问题,viewer字段返回null的核心原因是当前请求未通过WordPress用户认证,或者权限配置存在问题。以下是具体排查步骤:
确认GraphiQL的登录状态
如果是在WordPress后台打开的GraphiQL IDE,确保你已登录WP后台(检查WP顶部的登录状态)。如果是用外部GraphiQL客户端访问/wp/graphql端点,需要携带认证信息:- 方式1:启用WPGraphQL JWT插件,生成用户token后,在请求头添加
Authorization: Bearer <你的token> - 方式2:确保客户端允许发送WP的认证Cookie(需在CORS设置里允许凭证)
- 方式1:启用WPGraphQL JWT插件,生成用户token后,在请求头添加
验证当前认证状态
在GraphiQL里执行以下查询,确认是否处于登录状态:query CheckLoginStatus { isUserLoggedIn }如果返回
false,说明请求未被认证,viewer自然会返回null。检查WPGraphQL权限设置
进入WP后台 → WPGraphQL → 设置 → 权限面板:- 确认已勾选「允许已认证用户查看自身数据」相关选项
- 确保你的用户角色(如管理员、编辑)有「读取自身数据」的权限
排查插件冲突
暂时禁用除WPGraphQL、WPGraphQL CORS之外的所有插件,重新测试查询。部分安全类插件(如防火墙、登录限制插件)可能会拦截用户会话,导致认证失效。切换测试用户角色
用管理员账号登录WP后台后再测试查询,排除普通用户角色权限不足的问题。
内容的提问来源于stack exchange,提问作者Jérôme Dicharry
相关产品推荐
相关产品推荐

