GET /oauth/logout
OIDC RP-Initiated Logout 1.0。id_token_hint 必须为本服务 RSA 验签有效(含 iss 校验)。无 hint 四支分流:已认证会话(Bearer)→ 200 JSON {logged_out, location};无会话浏览器(Accept 含 text/html)→ 302 确认页;无会话机器流 → 401。post_logout_redirect_uri 仅在命中客户端注册白名单时精确匹配(302 回跳或 location 出),否则忽略/省略。
OAuth None application/json
请求参数
| 名称 | 位置 | 类型 | 必填 | 默认值 | 示例 | 约束 | 描述 |
id_token_hint |
query |
string |
否 |
|
|
|
ID Token 提示(须为本服务签发且未过期,验签 + iss 校验) |
post_logout_redirect_uri |
query |
string |
否 |
|
|
|
登出后重定向地址(精确匹配客户端注册 URI 白名单,否则忽略) |
state |
query |
string |
否 |
|
|
|
状态参数,随重定向/location 原样返回(URL 转义) |
client_id |
query |
string |
否 |
|
|
|
无 id_token_hint 时的客户端标识(白名单校验;确认页透传) |
引用的 Schema
service-core/base/dto.SimpleResponse
| 字段 | 类型 | 必填 | 示例 | 约束 | 描述 |
code |
integer |
否 |
|
|
|
message |
string |
否 |
|
|
|
timestamp |
string |
否 |
|
|
|
service-oauth/internal/handler/dto.LogoutJSONResponse
service-oauth/internal/handler/dto.LogoutResult
| 字段 | 类型 | 必填 | 示例 | 约束 | 描述 |
location |
string |
否 |
https://app.example.com/after-logout |
|
|
logged_out |
boolean |
否 |
True |
|
|
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 |
|
状态 |