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
请求头
| 请求头 | 必填 | 描述 |
|---|
Authorization | 是 | Bearer <ath_access_token> |
X-ATH-Agent-ID | 是 | 代理的规范 URI |
路径参数
| 参数 | 描述 |
|---|
provider_id | 要代理转发请求的服务提供方 |
path | 上游服务的 API 路径 |
实现者:
- 验证 ATH 访问令牌
- 核实代理身份与令牌绑定匹配(
X-ATH-Agent-ID 头必须(MUST)与令牌绑定的 agent_id 匹配)
- 验证 URL 路径中的
{provider_id} 与令牌绑定的 provider_id 匹配。如果不匹配,必须(MUST)返回 PROVIDER_MISMATCH 错误
- 检查请求的操作在已授予的范围内。实现者必须(MUST)维护从范围字符串到允许的 HTTP 方法和 API 路径的映射。没有匹配范围映射的请求必须(MUST)被拒绝
- 转发请求到实际服务。实现者建议(SHOULD)使用仅限于 ATH 令牌有效范围的上游 OAuth 令牌进行转发。当使用具有更广泛范围的共享上游令牌时,实现者必须(MUST)确保转发的请求不超过 ATH 令牌的有效范围
- 返回服务的响应给代理
响应从上游服务提供方透传。网关不修改响应体。
在原生模式中,服务直接处理请求而非代理转发。代理转发端点仅适用于网关模式部署。