[Model provider]Authorization removed

用户在 Dify(自托管源码部署)的模型设置页面中,尝试修改某个模型供应商(例如 Xinference)的凭据(credential),但界面显示“Authorization removed”错误,无法完成凭据的更改操作。Issue 中附带了多张截图,显示凭据保存/编辑功能失效。

[Model provider]Authorization removed

[Model provider]Authorization removed

快速结论:该报错通常出现在 Dify 自托管环境中,当用户尝试修改或查看模型供应商的凭据时,系统提示“Authorization removed”,导致无法更改凭据。优先排查数据库中的 provider_model_credentials 表是否存在孤立或状态不一致的记录。

问题场景

用户在 Dify(自托管源码部署)的模型设置页面中,尝试修改某个模型供应商(例如 Xinference)的凭据(credential),但界面显示“Authorization removed”错误,无法完成凭据的更改操作。Issue 中附带了多张截图,显示凭据保存/编辑功能失效。

报错原文

Authorization removed

(用户界面直接显示该文字提示,无完整错误堆栈)

原因分析

根据 Issue 讨论,该问题与 Dify 模型凭据模块的一系列已知 bug 相关,可能的原因包括:

  • 孤立凭据记录:删除自定义模型时,ProviderModel 记录被删除,但 ProviderModelCredential 记录仍残留,导致状态不一致(模型可能重新出现,或凭据显示为“authorization removed”)。
  • 凭据查找不匹配:保存/删除凭据的流程要求 modelmodel_type 字段完全匹配,但前端在保存凭据时可能未能正确传递这些字段,导致后续操作失败或产生意外行为。
  • 该问题与 Issue #38319、#38333、#38381 属于同一系列凭据 bug,部分修复已在 #38348 中落地,但根本问题需额外处理。

环境排查

  • Dify 版本:确认是否为主干分支(main)或特定发布版本。
  • 部署方式:确认是否为自托管源码部署(Self Hosted Source),而非 Cloud 版本。
  • 数据库:检查 PostgreSQL 或其他后端数据库中 provider_model_credentials 表的数据一致性。
  • 模型供应商:确认出问题的具体模型供应商(如 Xinference)及其自定义模型配置。

解决步骤

  1. 备份数据库:在执行任何数据库操作前,请确保已备份相关表数据。
  2. 查询孤立凭据记录:登录数据库,运行以下 SQL 查找可能的问题凭据(以 Xinference 为例):
    SELECT * FROM provider_model_credentials WHERE provider_name LIKE '%xinference%';
  3. 删除问题记录:根据查询结果,定位并删除导致状态不一致的孤立记录:
    DELETE FROM provider_model_credentials WHERE id = '';
    <the_id> 替换为实际的记录 ID。
  4. 重新添加凭据:清理完毕后,通过 Dify UI 重新添加模型供应商的凭据。
  5. (可优先尝试)应用补丁:如果问题持续,请检查是否已合并 #38348 的修复(针对凭据创建/编辑/删除的 payload 上下文问题)。如未合并,建议升级到包含此修复的版本或手动应用补丁。

验证方法

清理数据库中的孤立凭据记录后,返回 Dify 模型设置页面,尝试修改或重新保存凭据。如果不再显示“Authorization removed”错误,且凭据更改成功生效,则问题已解决。

参考来源

langgenius/dify #38383

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 11336

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注