/oauth/authorize
OAuth 2.0 授权端点(POST 方式)。用户确认授权后,提供 redirect_uri 时返回 302 重定向;未提供时返回 JSON 授权码。支持 PKCE、PAR 和 consent 自动保存。参考:RFC 6749 §4.1.1-4.1.2.1 (Authorization Code Grant)、RFC 7636 (PKCE)、RFC 9126 (PAR)。
请求体
接受空 JSON 对象 {}
响应
| 状态 | 描述 | Schema |
|---|---|---|
| 200 | 提供 redirect_uri 且 Accept: application/json 时:{redirect_to} 重定向目标(供同意页 fetch 提交读取);无 redirect_uri 时为 {code} 授权码 JSON | handler.authorizeRedirectResponse |
| 302 | 重定向到回调URL并附带 OAuth 错误(invalid_request/invalid_client/access_denied) | string |
| 400 | invalid_request_uri:PAR 请求无效/过期/已使用。参考:RFC 9126。 | service-oauth/internal/handler/dto.OAuthErrorResponse |
| 401 | login_required:公开客户端同意提交必须绑定有效会话(无会话不可发码) | service-oauth/internal/handler/dto.OAuthErrorResponse |
| 403 | access_denied:user_id/tenant_id 与认证会话不匹配(公开客户端以会话为准) | service-oauth/internal/handler/dto.OAuthErrorResponse |
| 500 | server_error:授权服务器内部错误。参考:RFC 6749 §5.2。 | service-oauth/internal/handler/dto.OAuthErrorResponse |
引用的 Schema
service-oauth/internal/handler/dto.OAuthErrorResponse
OAuth标准错误响应
| 字段 | 类型 | 必填 | 示例 | 约束 | 描述 |
|---|---|---|---|---|---|
error |
string |
否 | invalid_request |
错误码 | |
error_description |
string |
否 | Missing required parameter |
错误描述 | |
error_uri |
string |
否 | https://docs.example.com/errors |
错误URI | |
i18n_key |
string |
否 | error.oauth_invalid_request |
I18nKey 本地化键(AUTH-46①/U416):协议字段 error/error_description 保持 RFC 6749 §5.2 原样, 本字段是**附加**信息(omitempty;未知错误码不填),供前端/AI 客户端按键确定性渲染文案, 无需解析英文原文。仅出现在 JSON 错误体,不写入 302 错误重定向的查询串。 | |
state |
string |
否 | state-123 |
状态 |
handler.authorizeRedirectResponse
| 字段 | 类型 | 必填 | 示例 | 约束 | 描述 |
|---|---|---|---|---|---|
redirect_to |
string |
否 |