默认情况下,系统最初仅建立一个管理员用户,用户名为 sysadmin@thingsboard.org,密码为 sysadmin。
但在生产环境中运行时,强烈建议创建新的管理员用户,完全删除默认用户,或修改上述用户的密码。
本文档中,所有示例均使用 curl 命令执行REST请求,以展示实际的API调用。
认证
要对 broker 执行管理操作,必须先登录系统并获取 Access Token。 该 Access Token 用于对管理操作进行认证和授权。
要获取 Access Token,可执行以下命令:
1
2
3
4
5
6
curl --location --request POST 'http://localhost:8083/api/auth/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"username":"sysadmin@thingsboard.org",
"password":"sysadmin"
}'
请注意:若 broker 安装在远程服务器上,需将命令中的 “localhost” 替换为服务器公网 IP 或指定域名。 此外,请确保端口 8083 可从公网访问以建立连接。 同时,请将命令中的 “username” 和 “password” 替换为您环境中正确且有效的凭据。
授权成功后,响应中将包含一个名为 token 的字段。 后续所有 TBMQ 管理请求均需使用该 token。 为简化操作,您可以将 token 字段的值赋给名为 ACCESS_TOKEN 的环境变量, 或直接在本教程中涉及的请求里替换 $ACCESS_TOKEN 字符串。
1
export ACCESS_TOKEN=PLACE_YOUR_TOKEN_HERE
获取所有用户
1
2
curl --location --request GET "http://localhost:8083/api/admin?pageSize=50&page=0" \
--header "X-Authorization: Bearer $ACCESS_TOKEN"
系统中,每个用户实体都具有唯一标识符 id。 该id可作为引用,用于执行更新或删除用户等操作。
创建/更新用户
1
2
3
4
5
6
7
8
9
10
11
curl --location --request POST 'http://localhost:8083/api/admin' \
--header "X-Authorization: Bearer $ACCESS_TOKEN" \
--header 'Content-Type: application/json' \
--data-raw '{
"id":$USER_ID,
"email":"test@gmail.com",
"password":"test",
"firstName":"test",
"lastName":"test",
"roleName": "ADMIN"
}'
若 $USER_ID 为 null 或请求体中缺少 id 字段,将创建新的管理员用户,否则将更新指定 $USER_ID 的用户。
删除用户
1
2
curl --location --request DELETE 'http://localhost:8083/api/admin/$USER_ID' \
--header "X-Authorization: Bearer $ACCESS_TOKEN"
请将 $USER_ID 替换为要删除用户的实际ID。