动态客户端注册 (DCR) 使插件能够自动向标识提供程序注册 OAuth 客户端,而无需提前手动创建客户端 ID 和密码。 按照 RFC 7591,授权服务器按需颁发客户端凭据,而不是静态注册 OAuth 应用并将凭据复制到身份验证配置中。
DCR 基于 OAuth 2.0 授权代码流而构建。 与静态 OAuth 不同,你无需自行配置重定向 URI 或客户端凭据 - 企业令牌存储注册客户端并在后台处理这些详细信息。 有关一般 OAuth 概念,请参阅 配置 OAuth 2.0 身份验证。
注意
- 模型上下文协议 (MCP) 插件支持 DCR。
- 尚不支持没有客户端密码的 DCR。 授权服务器必须在注册期间颁发客户端密码。
- 默认情况下为 DCR 启用 PKCE。
警告
DCR 不适用于受 Microsoft Entra ID 保护的 MCP 服务器。 Microsoft Entra ID 不发布 RFC 7591 注册终结点,因此企业令牌存储无需注册客户端。 对于受 Microsoft Entra ID 保护的服务器,请改为静态注册 OAuth 客户端。 有关详细信息,请参阅 配置 OAuth 2.0 身份验证。
分两步配置 DCR:确认先决条件并创建 DCR 身份验证配置。
步骤 1:确认先决条件
- MCP 服务器 (RFC 9728) 在其终结点上
.well-known/oauth-protected-resource公开受 OAuth 2.0 保护的资源元数据,从而标识保护它的授权服务器。 - 授权服务器在终结点 (
.well-known/oauth-authorization-serverRFC 8414) 发布其元数据,包括registration_endpoint,并支持 (发出客户端密码的 RFC 7591) 动态客户端注册。 Microsoft Entra ID 不会发布此终结点,因此受 Microsoft Entra ID 保护的 MCP 服务器无法使用 DCR。
步骤 2:创建 DCR 身份验证配置
DCR 身份验证依赖于身份验证配置 (身份验证配置) - 存储在 Microsoft Enterprise 令牌存储中的记录,智能 智能 Microsoft 365 Copilot 副驾驶® 副驾驶®使用它来获取和刷新 MCP 插件的令牌。 可以通过两种方式创建 DCR 身份验证配置:Microsoft 365 代理工具包和声明式代理开发人员技能。 这两者都会自动创建身份验证配置并更新插件清单。
注意
Microsoft Teams 开发人员门户尚不支持 DCR。 使用代理工具包或声明式代理开发人员技能。
使用Microsoft 365 Agents Toolkit (推荐)
在 Microsoft 365 智能体工具包中使用 MCP 插件生成代理并选择动态客户端注册作为身份验证类型时,无需进一步输入。 Agents Toolkit 从 MCP 服务器的已知终结点获取注册详细信息,自动向授权服务器注册新客户端,在企业令牌存储中创建身份验证配置,并更新插件清单中的 运行时身份验证对象 。
使用声明式代理开发人员技能
声明式代理开发人员技能 (declarative-agent-developer) 是 Microsoft Work IQ 中的一项代理技能,包含构建声明式代理所需的知识。 不用自己运行命令或编辑清单,而是用自然语言向 Copilot 或 GitHub CLI 描述你想要的内容。 此技能将支持声明式代理、添加 MCP 插件,并处理身份验证配置。 对于 DCR,该技能注册客户端、在企业令牌存储中创建身份验证配置,并更新插件清单,而无需手动步骤。
提示
有关使用声明式代理开发人员技能的视频演练,请参阅 使用声明式代理开发人员技能生成声明式代理。
插件清单
无需执行任何操作 - 本部分仅供参考,用于显示代理工具包和声明式代理开发人员技能为你对插件清单所做的更改。 DCR 使用与 OAuth 2.0 相同的运行时身份验证对象:type属性设置为 OAuthPluginVault,并将 设置为reference_id身份验证配置 ID。
"auth": {
"type": "OAuthPluginVault",
"reference_id": "auth config ID"
},