NekoHub 不支持公开注册。所有账号都需要由有权限的管理员在后台或 API 中创建。
用户不能自助注册,也没有自助找回密码或 MFA 流程。
前置条件
你需要具备 users.create、users.update、users.disable 或 users.managePermissions 等相应权限。
在后台创建用户
- 登录后台并进入
/users
- 点击 New User
- 填写用户名、初始密码、角色、启用状态
- 保存后用户即可从
/login 登录
通过 API 创建用户
curl -X POST https://your-api-host/api/v1/users \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"username": "jane",
"password": "a-secure-password",
"role": "user",
"isActive": true,
"permissions": []
}'
| 角色 | 说明 |
|---|
superAdmin | 系统最高权限,只能通过 bootstrap 创建 |
admin | 拥有默认管理权限,但只能管理 user |
user | 默认权限较少,通常只读资产 |
superAdmin 不能通过 /api/v1/users 创建,也不能被普通管理员提升出来。
授权或更新权限
使用 PATCH /api/v1/users/{id}/permissions:
curl -X PATCH https://your-api-host/api/v1/users/<user-id>/permissions \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
"permissions": ["assets.create", "assets.read", "assets.update"]
}'
这会直接替换该用户当前的显式权限列表。
禁用或启用用户
curl -X POST https://your-api-host/api/v1/users/<user-id>/status \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{"isActive": false}'
补充约束:
superAdmin 不能被禁用
- 非 API key 登录的用户不能禁用自己
admin 不能管理 admin 或 superAdmin
重置密码
curl -X POST https://your-api-host/api/v1/users/<user-id>/reset-password \
-H "Authorization: Bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{"newPassword": "new-secure-password"}'
成功返回 204 No Content。