获取用户信息接口
接口
HttpGet: api/FrontEnd/GetUserInfo/{userId}
根据用户 ID 返回对外使用的最小用户信息。接口只返回用户显示名称、所属公司 ID 和管理员标识,不返回邮箱、手机号等个人信息。
请求参数
Path 参数
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
userId | string | 是 | 用户 ObjectID。 |
请求头
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
Authorization | string | 是 | 登录令牌,格式为 Bearer {token}。接口未配置免登录。 |
TnCode | string | 是 | 租户编码。 |
UserId | string | 条件必填 | 数据令牌签名使用的用户标识;非本机、非 IP 白名单调用时必填。 |
Timestamp | string | 条件必填 | 非本机、非 IP 白名单调用时必填。使用 13 位 Unix 毫秒时间戳。 |
Datatoken | string | 条件必填 | 非本机、非 IP 白名单调用时必填,按平台数据令牌规则生成。 |
本机或 IP 白名单环境仍必须携带 Authorization,但不校验 Timestamp 和 Datatoken。
Datatoken 生成规则
GET 请求按最终发送的路径签名,不包含协议、主机和端口。设:
pathAndQuery:最终请求的路径与查询串,例如/api/FrontEnd/GetUserInfo/user-001;userId:请求头UserId;timestamp:请求头Timestamp。
urlHash = SM3(pathAndQuery)
Datatoken = SM3(timestamp + "zhouju@2025" + userId + urlHash)
lcp@2025 是服务端兼容的备用密钥;调用端应优先使用 zhouju@2025。签名完成后不得修改用户 ID 或 URL 编码。每个 Datatoken 只能使用一次。
请求示例
GET /api/FrontEnd/GetUserInfo/user-001 HTTP/1.1
Authorization: Bearer eyJhbGciOiJIUzUxMiJ9...
TnCode: 00000000
UserId: 18f923a7-5a5e-426d-94ae-a55ad1a4b239
Timestamp: 1786550400123
Datatoken: {按上方公式计算的 64 位 SM3 十六进制值}
返回结果
成功时直接返回用户信息对象:
{
"displayName": "张三",
"companyId": "company-001",
"isAdmin": false
}
| 返回键 | 类型 | 说明 |
|---|---|---|
displayName | string | 用户显示名称,对应组织用户的名称。 |
companyId | string | 当前租户根组织的 ObjectID。 |
isAdmin | boolean | 用户是否为管理员。 |
错误说明
| 场景 | 返回信息 |
|---|---|
userId 为空 | 用户id为空 |
| 用户不存在或已被移除 | 用户不存在 |
| 缺少登录令牌 | HTTP 401,登录令牌不能为空 |
| 数据令牌缺失或签名不正确 | HTTP 401,数据令牌不能为空 或 URL校验失败,请勿随意调用接口 |