GET/api/v1/admin/users/:userId/attempts查看用户登录尝试历史
Try it 面板需要启用 JavaScript。
分页返回目标用户全部登录尝试(成功与失败均留档),含环境指纹哈希。
Request
| Name | Data Type | Required | Description |
| Authorization | string | Yes | 会话令牌认证,格式 `Bearer <sessionToken>` |
type RequestHeaders = {
/** 会话令牌认证,格式 `Bearer <sessionToken>` */
Authorization: string
}
URL Parameters
| Name |
Data Type |
Description |
| userId |
string |
用户 ID |
Query Parameters
| Name | Data Type | Required | Description |
| page | number | No | 页码,默认 1 |
| pageSize | number | No | 每页数量,默认 20,上限 100 |
| status | string | No | satisfied / failed / abandoned |
type QueryParams = {
/** 页码,默认 1 */
page?: number
/** 每页数量,默认 20,上限 100 */
pageSize?: number
/** satisfied / failed / abandoned */
status?: string
}
{
"page": 1,
"pageSize": 20,
"status": "satisfied"
}
Response
Body
| Name | Data Type | Required | Description |
| items | array | Yes | 尝试列表 |
| total | number | Yes | 总数 |
| page | number | Yes | 当前页码 |
| pageSize | number | Yes | 每页数量 |
type ResponseBody = {
/** 尝试列表 */
items: Record<string, unknown>[]
/** 总数 */
total: number
/** 当前页码 */
page: number
/** 每页数量 */
pageSize: number
}
{
"items": [
{
"attemptId": "01JD8ST4UZ9U2WL",
"status": "satisfied",
"verifiedFactors": [
"password",
"mfa"
],
"score": 100,
"ip": "203.0.113.24",
"fingerprintHash": "fp_c41a9e07d2b8",
"createdAt": "2026-10-14T08:00:00Z"
}
],
"total": 42,
"page": 1,
"pageSize": 20
}
HTTP Code
| HTTP Status |
Meaning |
Notes |
| 200 |
成功 |
返回尝试历史 |
Response Code
响应使用统一信封 {id, code, messages, result},其 code 字段:
| code |
Meaning |
Notes |
| 0 |
成功 |
返回尝试历史 |
Examples
GET /api/v1/admin/users/01JD8SEGQ0P9N2XK4L7VDH3T6C/attempts?status=satisfied
Authorization: Bearer st_7c1f9e05b28d4a63
{
"id": "01JD8ST5VA0V3XM",
"code": 0,
"messages": [],
"result": {
"items": [
{
"attemptId": "01JD8ST4UZ9U2WL",
"status": "satisfied",
"verifiedFactors": ["password", "mfa"],
"score": 100,
"ip": "203.0.113.24",
"fingerprintHash": "fp_c41a9e07d2b8",
"createdAt": "2026-10-14T08:00:00Z"
}
],
"total": 42,
"page": 1,
"pageSize": 20
}
}