本页介绍如何启用转发以及需要先具备哪些条件。关于信任模型,以及对身份提供商 / MCP 服务的完整要求,请参见 MCP 用户身份转发。
前置要求
在启用转发之前,请确保以下条件已满足:- 企业版,且工作区已配置 OIDC 或 OAuth2 SSO(不支持 SAML)。
- 你的身份提供商在登录时返回 refresh token,以便 Dify 能为每个用户换取每次调用所需的 token。
- 你的 MCP 服务会用同一个身份提供商校验转发过来的 token,并拒绝未认证的请求。
此处仅为概要。关于完整要求——共享 issuer 规则、token audience 的处理方式,以及 MCP 服务必须校验的内容——请按 MCP 用户身份转发 中的步骤配置。
启用转发
强制启用 OIDC 或 OAuth2 SSO
将工作区 SSO 配置并强制为 OIDC 或 OAuth2。参见 配置 SSO 认证。
让每个用户先通过 SSO 登录一次
每个用户必须至少通过 SSO 登录一次,Dify 后续才能代表他们换取每次调用所需的 token。控制台/工作区用户与已发布 Web App 的终端用户都会被自动处理。
为 MCP Provider 打开开关
进入 工具 → MCP,选中 Provider,点击 编辑,打开 转发用户身份 开关并保存。仅当登录强制启用 SSO 时才显示该开关(社区版及未配置 SSO 时隐藏)。开关是 Provider 级别 的,因此由管理员在一处统一决定哪些 MCP 服务能拿到调用者身份。
出站调用有何变化
转发激活后,Dify 会在每个发往 MCP 服务的请求上增加一个专用的头——它与 Provider 上已有的凭证并存,而非替换:Service API 调用与定时(Cron)运行不受支持,它们没有交互用户——请勿在这些执行路径上依赖转发。
故障排查
| 情况 | 处理 |
|---|---|
| 当前运行用户从未通过 SSO 登录,或其会话已无法刷新 | 让用户(重新)通过 SSO 登录 |
| SSO 未配置或已禁用 | 在管理控制台中配置 SSO |