![[Model provider]Authorization removed](https://www.chat-gpts.plus/wp-content/uploads/2026/07/38383-86b80f6d.jpg)
[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”)。 - 凭据查找不匹配:保存/删除凭据的流程要求
model和model_type字段完全匹配,但前端在保存凭据时可能未能正确传递这些字段,导致后续操作失败或产生意外行为。 - 该问题与 Issue #38319、#38333、#38381 属于同一系列凭据 bug,部分修复已在 #38348 中落地,但根本问题需额外处理。
环境排查
- Dify 版本:确认是否为主干分支(main)或特定发布版本。
- 部署方式:确认是否为自托管源码部署(Self Hosted Source),而非 Cloud 版本。
- 数据库:检查 PostgreSQL 或其他后端数据库中
provider_model_credentials表的数据一致性。 - 模型供应商:确认出问题的具体模型供应商(如 Xinference)及其自定义模型配置。
解决步骤
- 备份数据库:在执行任何数据库操作前,请确保已备份相关表数据。
- 查询孤立凭据记录:登录数据库,运行以下 SQL 查找可能的问题凭据(以 Xinference 为例):
SELECT * FROM provider_model_credentials WHERE provider_name LIKE '%xinference%'; - 删除问题记录:根据查询结果,定位并删除导致状态不一致的孤立记录:
DELETE FROM provider_model_credentials WHERE id = '';
将<the_id>替换为实际的记录 ID。 - 重新添加凭据:清理完毕后,通过 Dify UI 重新添加模型供应商的凭据。
- (可优先尝试)应用补丁:如果问题持续,请检查是否已合并 #38348 的修复(针对凭据创建/编辑/删除的 payload 上下文问题)。如未合并,建议升级到包含此修复的版本或手动应用补丁。
验证方法
清理数据库中的孤立凭据记录后,返回 Dify 模型设置页面,尝试修改或重新保存凭据。如果不再显示“Authorization removed”错误,且凭据更改成功生效,则问题已解决。



