深色模式
认证
获取认证会话
调用示例
sh
GET https://open.apihub.net/api/user-center/gen-auth-session?ak={{ak}}
> {%
client.global.set("apihub_auth_session", response.body.result)
%}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
ak | queryParams | str | 是 | 使用该接口前,必须配置 API Key 的 域名白名单。 在 网站右上角头像昵称 >账号中心 > API Keys 页面中管理 |
返回值说明
result 即为 认证会话id,5分钟内有效。后续认证请求中,需要在 apihub-token
请求头中传递。
json
{
"success":true,
"trace":"3d65d302273c11f0855bc6807b612ccf",
"result":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhbm9ueW1vdXMiLCJpc3MiOiI2N2ZjYTdhOTdhODgzZmFjM2E5ODFhODMiLCJ0eXAiOiJwZXJzb25fdG9rZW4iLCJpYXQiOjE3NDYxODAwMTMsImV4cCI6MTc0NjE4MDMxMywiYWN0aW9ucyI6WyJ1c2VyX2NlbnRlcjpub2F1dGhfZ2V0X3Bhc3N3b3JkX3BvbGljeSIsInVzZXJfY2VudGVyOm5vYXV0aF9yZWdpc3RlciIsInVzZXJfY2VudGVyOm5vYXV0aF9sb2dpbiJdfQ.eucIVCbewwowyDONFqQuc74l3fDeGJaRR_m-pRtdu60"
}
注册/登录
调用示例
sh
POST https://open.apihub.net/api/user-center/noauth-register
POST https://open.apihub.net/api/user-center/noauth-login
apihub-token: {{apihub_auth_session}}
{
"username": "zhangsan",
"password": "123456"
}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 获取认证会话 接口的返回值 |
username | jsonBody | str | 是 | |
password | jsonBody | str | 是 |
返回值说明
token 有效期 1 小时
refresh_token 有效期 7 天
json
{
"success": true,
"trace": "4474f16a274511f08306c6807b612ccf",
"result": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2ODE0YTZkMjllNzhhOGU3ZGQ2OWNkOGUiLCJpc3MiOiI2N2ZjYTdhOTdhODgzZmFjM2E5ODFhODMiLCJpYXQiOjE3NDYxODM4OTAsImV4cCI6MTc0NjE4NzQ5MCwidHlwIjoicGVyc29uX3Rva2VuIiwidXNlcm5hbWUiOiJ6aGFuZ3NhbiIsInJvbGVzIjpbIk1FTUJFUiJdLCJncm91cHMiOltdfQ.78vWnNSdSGSWdIcy3P_3DEpNz9QEPWrEr2dsx_rUq8Q",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI2ODE0YTZkMjllNzhhOGU3ZGQ2OWNkOGUiLCJpc3MiOiI2N2ZjYTdhOTdhODgzZmFjM2E5ODFhODMiLCJpYXQiOjE3NDYxODM4OTAsImV4cCI6MTc0Njc4ODY5MCwidHlwIjoicGVyc29uX3Rva2VuIiwiYWN0aW9ucyI6WyJ1c2VyX2NlbnRlcjptZV9yZWZyZXNoX3Rva2VuIl19.vThXgsyNCbfjT_RW4tNuQ0-doAXWb6HXaRHMN2cl5To"
}
}
登录/注册/刷新Token 接口返回值中的 token 字段。可以使用 API Key 的 sk 在本地解码验证。token 生成方式为:
python
token = jwt.encode({
"sub": str(user["_id"]),
"iss": ak,
"iat": now,
"exp": token_exp,
"typ": "person_token",
"username": user["username"],
"roles": [user["type"]] + user_roles
"groups": user_groups
}, sk, algorithm="HS256")
刷新Token
调用示例
sh
POST https://open.apihub.net/api/user-center/me-refresh-token
apihub-token: {{refresh_token}}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 登录/注册/刷新Token 接口返回值中的 refresh_token 字段 |
返回值说明
与 注册/登录 接口相同
用户
获取个人信息
调用示例
sh
GET https://open.apihub.net/api/user-center/my-profile
apihub-token: {{token}}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 登录/注册/刷新Token 接口返回值中的 token 字段 |
返回值说明
字段 | 说明 |
---|---|
result._id | 用户唯一标识 |
result.username | 用户登录账号 |
result.type | 枚举:ADMIN 、MEMBER |
result.enable | bool 类型,用于标识账号的 启用/禁用 状态 |
result.attrs | 其他个人属性,attrs 下的字段可以灵活任意拓展。适合存放 头像 昵称 个人偏好设置 等弱审核信息。 |
result.sys_attrs | 其他个人属性,与 attrs 不同的是,该字段只能通过管理接口修改,适合存放功能开关状态等控制类信息、绑定第三方账号等强审核信息。 |
result.firstCreated | 账号创建于 |
result.trial_end_at | 账号体验期截止时刻,单位:秒 该字段独立生效,不会连带影响 enable 字段的值。可用于设置体验版账号 |
json
{
"success": true,
"trace": "63154822274511f08306c6807b612ccf",
"result": {
"_id": "6814a6d29e78a8e7dd69cd8e",
"username": "zhangsan",
"type": "MEMBER",
"attrs": {
"avatar": "https://apihub-net.oss-cn-beijing.aliyuncs.com/img/default-avatar.jpg",
"nickname": "zhangsan"
},
"enable": true,
"firstCreated": "2025-05-02T19:04:50.561000",
"ak": "67fca7a97a883fac3a981a83",
"isDel": 0
}
}
更新我的属性
调用示例
sh
PUT https://open.apihub.net/api/user-center/me-save-attrs
apihub-token: {{token}}
{
"avatar": "",
"nickname": "zhangsan1",
"aaa": "bbb"
}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 登录/注册/刷新Token 接口返回值中的 token 字段 |
jsonBody | 可以往 user 对象的 attrs 字段中添加任意信息。 1. 对于参数中存在,数据库中不存在的字段,将新增字段。 2. 对于参数中不存在,数据库存在的字段,将不受影响。 3. 对于参数中存在,数据库也存在的字段,将进行覆盖更新操作。 4. 参数名中使用点号 . 分割,可局部更新深层对象。 |
返回值说明
与 获取个人信息 接口相同
修改我的密码
调用示例
sh
POST https://open.apihub.net/api/user-center/me-change-password
apihub-token: {{token}}
{
"old_password": "123456",
"new_password": "12345678"
}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 登录/注册/刷新Token 接口返回值中的 token 字段 |
old_password | jsonBody | str | 是 | 当前密码 |
new_password | jsonBody | str | 是 | 新密码 |
返回值说明
与 获取个人信息 接口相同
角色
获取我拥有的角色
调用示例
sh
GET https://open.apihub.net/api/user-center/my-roles
apihub-token: {{token}}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 登录/注册/刷新Token 接口返回值中的 token 字段 |
返回值说明
result = [user["type"]] + user_roles
json
{
"success": true,
"trace": "c6dbd12229f811f08cc3c6807b612ccf",
"result": [
"MEMBER"
]
}
分组
获取我所在的分组
调用示例
sh
GET https://open.apihub.net/api/user-center/my-groups
apihub-token: {{token}}
参数说明
参数 | 位置 | 类型 | 必传 | 说明 |
---|---|---|---|---|
apihub-token | Header | str | 是 | 登录/注册/刷新Token 接口返回值中的 token 字段 |
返回值说明
json
{
"success": true,
"trace": "831ddb2c2b3011f0930cc6807b612ccf",
"result": [
{
"_id": "681b2ac0d94cdcdf8ff990dc",
"name": "部门A",
"desc": "A",
"parent": "6819920b37e1bfd14cc10f7e",
"order": -1,
"type": "dept",
"attrs": {},
"ak": "67fca7a97a883fac3a981a83",
"firstCreated": "2025-05-07T17:41:20.674000",
"isDel": 0,
"lastModified": "2025-05-07T18:46:00.283000",
"children": null,
"id_path": "/6819920b37e1bfd14cc10f7e",
"name_path": "/部门1",
"type_path": "/dept"
},
{
"_id": "6819920b37e1bfd14cc10f7e",
"name": "部门1",
"desc": "",
"parent": "",
"order": 0,
"type": "dept",
"attrs": {},
"ak": "67fca7a97a883fac3a981a83",
"firstCreated": "2025-05-06T12:37:31.491000",
"isDel": 0,
"children": null,
"id_path": "/",
"name_path": "/",
"type_path": "/"
}
]
}
常见错误码
错误码 | 含义 | 建议操作 |
---|---|---|
TOKEN_EXPIRED | 会话过期 | 重新登录 |