<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MCP on Dapr 文档库</title><link>https://docs.dapr.io/zh-hans/developing-ai/mcp/</link><description>Recent content in MCP on Dapr 文档库</description><generator>Hugo</generator><language>zh-hans</language><atom:link href="https://docs.dapr.io/zh-hans/developing-ai/mcp/index.xml" rel="self" type="application/rss+xml"/><item><title>对 MCP 服务器进行身份验证</title><link>https://docs.dapr.io/zh-hans/developing-ai/mcp/mcp-authentication/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.dapr.io/zh-hans/developing-ai/mcp/mcp-authentication/</guid><description>&lt;h2 id="概述">概述&lt;/h2>
&lt;p>&lt;a href="https://modelcontextprotocol.io/specification/">MCP 规范&lt;/a> 并不强制要求 MCP 客户端与服务器之间的任何形式的身份验证。安全模型由用户自行规划和实施。这给开发者带来了维护负担，并使 MCP 服务器面临各种攻击面。&lt;/p>
&lt;p>虽然 MCP 服务器缺少身份标识，但 OAuth2 是一个成熟的标准，可用于正确地对 MCP 客户端进行身份验证以访问 MCP 服务器。&lt;/p>
&lt;p>在以下场景中，OAuth2 变得尤为重要：&lt;/p>
&lt;ul>
&lt;li>多租户&lt;/li>
&lt;li>远程&lt;/li>
&lt;li>云托管&lt;/li>
&lt;li>连接到机密系统&lt;/li>
&lt;li>代表用户执行特权操作&lt;/li>
&lt;li>暴露需要权限控制的工具&lt;/li>
&lt;/ul>
&lt;p>Dapr 通过使用 &lt;a href="https://docs.dapr.io/zh-hans/operations/components/middleware/">中间件&lt;/a> 组件，支持 MCP 客户端与服务器之间的 OAuth2 身份验证。&lt;/p>
&lt;h2 id="身份验证类型">身份验证类型&lt;/h2>
&lt;p>Dapr 为 MCP 服务器的生产级部署支持两种关键身份验证机制——客户端和服务器端。&lt;/p>
&lt;h3 id="客户端身份验证">客户端身份验证&lt;/h3>
&lt;p>客户端发起 OAuth2 以获取访问令牌，并在连接到 MCP 服务器时包含该令牌。
这证明了用户的身份和权限，对于远程、敏感或多租户 MCP 服务器是必需的。
它确保服务器可以信任调用方以及客户端允许使用的范围。&lt;/p>
&lt;h3 id="服务器端身份验证">服务器端身份验证&lt;/h3>
&lt;p>服务器验证客户端的令牌，或者在令牌缺失或不足时触发 OAuth2 登录或范围升级。
这对于云托管或共享 MCP 服务器、租户感知系统以及需要用户特定授权的集成是必需的。
它强制执行访问控制，隔离用户，并保护特权工具和数据。&lt;/p>
&lt;h2 id="如何启用客户端身份验证">如何启用客户端身份验证&lt;/h2>
&lt;h3 id="将-mcp-服务器定义为-httpendpoint">将 MCP 服务器定义为 HTTPEndpoint&lt;/h3>
&lt;p>Dapr 允许开发者和运维人员将远程 HTTP 服务建模为可使用 Dapr &lt;a href="https://docs.dapr.io/zh-hans/developing-applications/building-blocks/service-invocation/service-invocation-overview/">服务调用 API&lt;/a> 管理和调用的资源。
创建此 &lt;code>HTTPEndpoint&lt;/code> 资源来表示 MCP 服务器：&lt;/p></description></item></channel></rss>