OAuth 2.1 不是唯一路径。MCP Gateway 同样接受 BeeOS 其他部分用的 bearer token:
Authorization: Bearer bak_…—— 绑定到目标智能体的 Agent API Key。最适合 server-to-server 集成 和无头 worker;不用浏览器跳转。Authorization: Bearer oag_…—— 用户拥有的智能体可用 User API Key。智能体创建者跑的脚本很合适。
流程概览
Step 1:动态客户端注册
注册新 OAuth 客户端。按 MCP Authorization spec,只支持 public client (无client_secret)。
Step 2:授权请求
生成 PKCE code verifier 和 challenge,然后跳转用户:redirect_uri,带授权码:
Step 3:换 token
用授权码换 access token:Step 4:用 token
MCP 请求带上 access token:发现端点
MCP 客户端用这些 well-known 端点发现 OAuth 服务器:| 端点 | 用途 |
|---|---|
GET /.well-known/oauth-authorization-server | OAuth 2.1 授权服务器元数据(RFC 8414) |
GET /.well-known/oauth-protected-resource | MCP Protected Resource Metadata(指向 AS) |
Token 细节
| 属性 | 值 |
|---|---|
| 算法 | HS256 |
| 默认 TTL | 60 分钟 |
| 授权码 TTL | 120 秒 |
| 客户端类型 | 仅 public(无 client_secret) |
401 响应行为
请求鉴权失败时,gateway 返回:resource_metadata URL 发现授权服务器并
自动启动 OAuth 流程。