API 代理转发(运行时,仅限网关模式)

ANY /ath/proxy/{provider_id}/{path} 将 API 调用代理转发到上游服务提供方。仅在网关模式下可用。

请求

GET /ath/proxy/example-mail/v1/messages
Authorization: Bearer ath_tk_xxxxxxxx
X-ATH-Agent-ID: https://travel-agent.example.com/.well-known/agent.json

请求头

请求头必填描述
AuthorizationBearer <ath_access_token>
X-ATH-Agent-ID代理的规范 URI

路径参数

参数描述
provider_id要代理转发请求的服务提供方
path上游服务的 API 路径

行为

实现者:
  1. 验证 ATH 访问令牌
  2. 核实代理身份与令牌绑定匹配(X-ATH-Agent-ID 头必须(MUST)与令牌绑定的 agent_id 匹配)
  3. 验证 URL 路径中的 {provider_id} 与令牌绑定的 provider_id 匹配。如果不匹配,必须(MUST)返回 PROVIDER_MISMATCH 错误
  4. 检查请求的操作在已授予的范围内。实现者必须(MUST)维护从范围字符串到允许的 HTTP 方法和 API 路径的映射。没有匹配范围映射的请求必须(MUST)被拒绝
  5. 转发请求到实际服务。实现者建议(SHOULD)使用仅限于 ATH 令牌有效范围的上游 OAuth 令牌进行转发。当使用具有更广泛范围的共享上游令牌时,实现者必须(MUST)确保转发的请求不超过 ATH 令牌的有效范围
  6. 返回服务的响应给代理

响应

响应从上游服务提供方透传。网关不修改响应体。
在原生模式中,服务直接处理请求而非代理转发。代理转发端点仅适用于网关模式部署。