/admin/impersonate
管理员直接以目标用户身份登录,返回access_token/refresh_token,需要super_admin角色
Request Body
Schema: dto.AdminImpersonateRequest
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
user_id |
string |
Yes | 01ARZ3NDEKTSV4RRFFQ69G5FAV |
||
reason |
string |
No | Troubleshooting user issue |
Responses
| Status | Description | Schema |
|---|---|---|
| 200 | 模拟成功 | dto.AdminImpersonateResponseWrapper |
| 400 | 请求参数错误 | dto.Problem |
| 401 | 未认证或令牌无效 | dto.Problem |
| 403 | 权限不足 | dto.Problem |
| 500 | 服务器内部错误 | dto.Problem |
Referenced Schemas
dto.AdminImpersonateResponse
管理员模拟用户登录响应
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
access_token |
string |
No | eyJhbGciOi... |
||
expires_in |
integer |
No | 1800 |
||
refresh_token |
string |
No | eyJhbGciOi... |
||
token_type |
string |
No | Bearer |
||
user |
dto.UserInfo |
No |
dto.AdminImpersonateResponseWrapper
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
code |
integer |
No | |||
data |
dto.AdminImpersonateResponse |
No | |||
message |
string |
No | |||
timestamp |
string |
No |
dto.FieldViolation
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
code |
string |
No | Code 是错误代码(可选) 用于程序识别错误类型,如 "required", "format", "range" | ||
description |
string |
No | Description 是人类可读的错误描述 应该说明违反了什么规则,如 "必须是一个有效的邮箱地址" | ||
field |
string |
No | Field 是错误字段的路径 使用点号表示嵌套字段,如 "user.email" 或 "addresses[0].city" | ||
value |
object |
No | Value 是导致错误的值(可选,开发模式下使用) 生产环境可能不返回此字段以避免泄露敏感信息 |
dto.Problem
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
code |
integer |
No | Code 是业务错误码 用于程序处理特定错误场景 示例:30101001 | ||
detail |
string |
No | Detail 是针对此具体错误实例的人类可读解释 可以包含具体的错误细节,如"Field 'email' is required" | ||
errors |
array of |
No | Errors 是字段级验证错误列表(扩展字段) 遵循 Web API 标准实践,每个错误包含字段名和错误信息 | ||
i18n_args |
object |
No | I18nArgs 是国际化参数 用于动态填充翻译模板 | ||
i18n_key |
string |
No | I18nKey 是国际化键 用于客户端本地化错误消息 示例:"error.user_not_found" | ||
instance |
string |
No | Instance 是发生问题的具体URI引用 通常是请求的URL,可能包含查询参数 示例:"/api/v1/users?limit=invalid" | ||
request_id |
string |
No | RequestID 是请求唯一标识 用于日志关联和问题追踪 示例:"req_550e8400-e29b-41d4-a716-446655440000" | ||
retry_after |
integer |
No | RetryAfter 用于 429 Too Many Requests 响应 指示客户端应在多少秒后重试请求(RFC 6585) | ||
service |
string |
No | Service 是服务名 用于微服务架构中定位错误来源 示例:"auth-service" | ||
span_id |
string |
No | SpanID 是当前 span 标识 用于精确定位分布式链路中的当前节点 | ||
status |
integer |
No | Status 是产生的HTTP状态码 用于客户端区分问题类型,不随Accept-Language变化 示例:400, 401, 403, 404, 500 | ||
timestamp |
string |
No | Timestamp 是错误发生时间 ISO 8601 格式 示例:"2026-04-03T12:00:00Z" | ||
title |
string |
No | Title 是简短、人类可读的问题类型摘要 相同的 Type 应该始终有相同的 Title(不随实例变化) 示例:"Invalid Request Parameters" | ||
trace_id |
string |
No | TraceID 是分布式追踪标识 遵循 W3C Trace Context 标准 示例:"00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01" | ||
type |
string |
No | Type 是标识问题类型的URI引用 当该URI被解引用时,应提供人类可读的文档 示例:"https://api.example.com/errors/invalid-request" |
dto.UserInfo
用户基本信息
| Field | Type | Required | Example | Constraints | Description |
|---|---|---|---|---|---|
created_at |
string |
No | Account creation time | ||
email |
string |
No | |||
id |
string |
No | User ID | ||
must_change_password |
boolean |
No | Password must be changed | ||
password_expires_in |
integer |
No | Days until password expires | ||
password_warning |
string |
No | Password warning: expiring/expired_grace/expired | ||
phone |
string |
No | Phone | ||
status |
string |
No | Status | ||
username |
string |
No | Username |