上游身份认证
每个已注册的 MCP 服务器都可以定义 AISIX 如何向上游服务器执行身份认证。AISIX 在网关侧持有所有上游凭证,并在列出工具或转发工具调用时提供该凭证。MCP 客户端发送给 AISIX 的调用方 API Key 用于向 AISIX 认证调用方;默认情况下,没有任何调用方请求头会到达上游服务器。确实需要看到某个请求头(包括调用方自己的凭证)的服务器,通过 forward_client_headers 显式开启。
使用 auth_type 字段和对应身份认证模式要求的字段设置凭证。AISIX Enterprise 和 AISIX Cloud 的控制面路径,以及 AISIX OSS 的资源文件路径,支持相同的模式。
前置条件
开始前,请准备以下环境:
- 对于 AISIX Enterprise 或 AISIX Cloud,准备一个环境和写入作用域管理员 Token。对于 AISIX Enterprise,请按照 AISIX Enterprise 入门操作。若要申请 AISIX Cloud 访问权限,请联系 API7。
- 请完成 AISIX Enterprise、AISIX Cloud 或开源 AISIX 网关的设置 MCP 网关。如需执行可选的端到端验证,请保持同一个 Shell、网关、Everything 测试服务器和临时 Docker 网络运行。
- 控制面示例需要 cURL。
身份认证模式
选择与上游 MCP 服务器期望 AISIX 使用的身份认证方式相匹配的模式:
auth_type | 上游凭证 | AISIX 的提供方式 |
|---|---|---|
none | 无 | 不发送凭证。 |
bearer | secret 中的 Bearer Token | Authorization: Bearer <secret> |
api_key | secret 中的 API Key | x-api-key: <secret> |
oauth2 | client_id + token_url + secret | AISIX 获取访问 Token,然后发送 Authorization: Bearer <access_token>。 |
secret 保存 AISIX 提供给上游的明文凭证。该值仅在网关侧使用,永远不会发送给调用客户端。若要轮换凭证,请使用新的 secret 更新资源。
使用凭证的上游应采用 HTTPS。如果为 http:// URL 配置了 Bearer Token、API Key 或 OAuth 凭证,网关会记录警告,因为凭证将以明文通过网络传输。对于 OAuth,当 token_url 使用 http:// 时,网关也会发出警告,因为客户端密钥会发送到该端点。