授权
信息
本文所述授权是指网关对请求的认证,而非上游请求的认证。
当为网关配置了 RouteAuth 时,网关会根据配置对请求进行认证。
认证方式
无认证
当并未配置认证时,网关不会对请求进行认证,而是透明传递所有请求头到上游。
Bearer Token
当 RouteAuth 的 auth 字段选择了 bearer 时,网关会根据配置的 RouteAuth.BearerAuth 中的 tokens 字段对请求进行认证。
请求网关时,需使用 Authorization: Bearer <token> 头。
该认证方式与 OpenAI 的认证方式一致,因此对于大多数 AI 应用的客户端,选择「OpenAI 兼容」模式即可。
认证失败
当认证未通过时,网关会采用模拟 OpenAI 的方式返回失败信息。具体而言,会返回 401 状态码,并返回如下格式的 body
{
"error": {
"aidy_request_id": "01k0x8krwgqsekg4ss26vp90h0",
"code": "invalid_api_key",
"message": "Incorrect API key provided: xxx",
"param": null,
"type": "invalid_request_error"
}
}
其中
type:固定为invalid_request_errorcode:根据实际情况(OpenAI 的行为),可能为 null 或字符串param根据实际情况,可能为 null 或对象message:错误信息,字符串aidy_request_id:网关生成的 Request ID(可以利用该字段的存在与否判断认证错误是由上游返回还是网关返回)