上游身份认证
每个已注册的 MCP 服务器都可以定义 AISIX 如何向上游服务器执行身份认证。AISIX 在网关侧持有所有上游凭证,并在列出工具或转发工具调用时提供该凭证。MCP 客户端发送给 AISIX 的调用方 API Key 用于向 AISIX 认证调用方;默认情况下,没有任何调用方请求头会到达上游服务器。确实需要看到某个请求头(包括调用方自己的凭证)的服务器,通过 forward_client_headers 显式开启。
使用 auth_type 字段和对应身份认证模式要求的字段设置凭证。AISIX Cloud 与开源 AISIX 网关通过不同的管理路径支持相同的模式。
前置条件
开始前,请准备以下环境:
- 对于 AISIX Cloud,准备一个环境和写入作用域管理员 Token。对于本地部署,请按照 AISIX Cloud 快速入门操作。若要申请混合云访问权限,请联系 API7。
- 请完成 AISIX Cloud 或开源 AISIX 网关的设置 MCP 网关。如需执行可选的端到端验证,请保持同一个 Shell、网关、Everything 测试服务器和临时 Docker 网络运行。
- AISIX Cloud 示例需要 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:// 时,网关也会发出警告,因为客户端密钥会发送到该端点。
配置上游身份认证
请通过与你的部署对应的管理路径配置上游身份认证。
AISIX Cloud
AISIX Cloud Admin API 会同时创建服务器及其上游凭证。allowed_environments 列出接收该服务器的环境。列表为空或缺失时,服务器不会公开给任何环境,因此以下每个示例都包含目标环境。
导出控制面连接值:
# AISIX_CP 包含 /api,末尾不带斜杠。
# 本地部署快速入门使用 http://localhost:8080/api。
export AISIX_CP="http://localhost:8080/api"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"