You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Directus SDK静态令牌认证失败:401未授权问题排查求助

Directus最新SDK静态令牌认证401(Invalid user credentials)问题解决

修复后的客户端初始化代码

首先修正客户端配置的链式调用写法:

import { createDirectus, staticToken, rest, readItems } from "@directus/sdk";

const client = createDirectus(process.env.NEXT_PUBLIC_API_URL as string)
  .with(rest())
  .with(staticToken(process.env.ADMIN_TOKEN as string));

export default client;

排查步骤

  • 验证环境变量加载情况
    打印process.env.ADMIN_TOKEN和process.env.NEXT_PUBLIC_API_URL的值,确认令牌不为空、API地址格式正确(带http/https协议,无多余尾斜杠)。注意:Next.js中,非NEXT_PUBLIC_前缀的环境变量无法在客户端组件中访问,若你在客户端执行请求,需将ADMIN_TOKEN改为NEXT_PUBLIC_ADMIN_TOKEN(生产环境不建议,敏感令牌应仅在服务端使用),或把请求逻辑移至服务端组件/API路由。

  • 检查令牌权限与有效性
    登录Directus后台,确认该管理员用户的静态令牌未过期,且对应角色对posts表拥有读取权限(即使是管理员角色,也需确认权限未被误修改)。

  • 排除认证方式冲突
    确保未同时启用其他认证扩展(如auth()),静态令牌认证与用户密码认证不能同时生效,需移除多余的认证扩展配置。

  • 直接测试令牌有效性
    用Postman等工具发送GET请求到{{API_URL}}/items/posts?fields=id,title,在请求头中添加Authorization: Bearer {{ADMIN_TOKEN}},如果仍返回401,说明令牌本身或权限存在问题,需重新生成令牌或检查角色权限配置。

内容的提问来源于stack exchange,提问作者beginnerspirit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:37:25