![[Question]: No APIToken found for token](https://www.chat-gpts.plus/wp-content/uploads/2026/06/14985-6f4420a5.jpg)
[Question]: No APIToken found for token
快速结论:该报错通常出现在 RAGFlow 嵌入式聊天页面中,当用户点击“Thinking”按钮时触发。优先尝试在 RAGFlow 后台重新生成“Embed into webpage”嵌入链接,以获取带有新 API Token 的代码片段。
问题场景
用户在 RAGFlow 后台通过“Embed into webpage”功能生成了嵌入式聊天页面的 HTML 代码。页面能正常加载并与 Agent 对话,但点击“Thinking”按钮时触发认证警告,导致该功能不可用。该问题在 v0.24.0 版本之后出现。
报错原文
2026-05-18 15:23:51,167 WARNING 72 load_user from jwt got exception No b'.' found in value
2026-05-18 15:23:51,172 WARNING 72 load_user: No APIToken found for token=ULG53523...
2026-05-18 15:23:51,174 WARNING 72 Unauthorized request (quart_auth)
原因分析
这是 RAGFlow 在 v0.24.0 之后进行的多项认证变更所导致的兼容性问题。“Thinking”按钮会调用 completions 端点(如 /api/v1/agentbots/{agentId}/completions),该端点使用 APIToken 进行认证。报错 No b'.' found in value 表示传入的 Token 不是一个有效的 JWT 格式,在 _load_user 回退逻辑中被错误解释。可能原因包括:
- PR #14592 引入了租户范围授权,后端会验证
dialog_id是否与 API Token 属于同一租户;在此变更之前生成的 Token 可能缺少正确的租户关联。 - PR #14080 更改了 Bearer 前缀的处理方式,没有遵循
Bearer前缀格式的 Token 不再被接受。 - completions 端点通过
beta字段查询api_token表(APIToken.query(beta=token)),但旧的嵌入 Token 可能以不同方式存储。
环境排查
- 确认当前 RAGFlow 版本(是否为 v0.24.0 之后的版本,如 April/May 2026 的更新)。
- 确认 HTML 页面是否托管在与 RAGFlow 实例相同的域名下(跨域 iframe 可能存在额外的 Cookie/认证限制)。
- 检查“Embed into webpage”的嵌入链接是否是在最近一次认证更新之前生成的。
解决步骤
- 在 RAGFlow 后台,进入对应的 Agent 或 Chatbot 设置页面。
- 找到“Embed into webpage”功能,重新生成嵌入代码片段。这将创建一个带有正确租户关联的新 API Token。
- 将新生成的 HTML 片段替换到你的页面中。
- (可优先尝试)如果问题仍存在,建议升级到最新版本的 RAGFlow(例如已合并 PR #14569 等认证修复的版本)。
- 如果完成后仍报错,确认 HTML 页面与 RAGFlow 实例是否同源,跨域场景可能需额外配置 Cookie/认证策略。
验证方法
替换新的嵌入链接后,刷新页面并点击“Thinking”按钮,观察是否不再出现 No APIToken found for token 和 Unauthorized request 警告。对话功能应保持正常,且“Thinking”按钮触发时不再报错。



