接口调用说明
此页面上的所有端点都以BaseUrl为首拼接,您的baseUrl如下所示:
https://${yourXAuthDomain}
SSWS Token:
请求以下的API需要包含api_token, 通过管理员登录XAuth的控制台,【API】-【Token】-【创建token】来创建调用管理API的Token
查询用户列表
GET ${baseUrl}/api/v1/account/user/{userId}
获取租户下的用户列表的详情
请求示例
curl -X 'GET' \
'http://${yourXAuthDomain}/api/v1/account/user?page=1&limit=10' \
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}'
响应示例
{
"count": 2,
"users": [
{
"email": "13900010001@139.com",
"account": "13900010001",
"lastName": "string",
"firstName": "string",
"employeeId": "string",
"displayName": "string",
"mobilePhone": "13900010001",
"userId": "SEnKEVSu",
"status": 3,
"department": [],
"group": [
"1"
],
"lastLogin": "2022-07-04T14:20:02.764381",
"passwordChanged": "2022-07-04T14:20:02.764391"
},
{
"email": "qq123@qq.com",
"account": "qq123@qq.com",
"lastName": "string",
"firstName": "string",
"employeeId": "string",
"displayName": "stringstring",
"mobilePhone": "13811821182",
"userId": "CNaXHRp2",
"status": 3,
"department": [],
"group": [
"1"
],
"lastLogin": "2022-07-04T14:20:02.769906",
"passwordChanged": "2022-07-04T14:20:02.769917"
}
]
}
参数 | 描述 | 类型 |
---|---|---|
account | 用户账号,该属性为必填,且必须唯一 | String |
firstName | 用户的名字 | String |
lastName | 用户的姓 | Sting |
邮箱,该属性是否必填,可通过控制台配置,但必须保证在租户内的唯一性 | String | |
mobilePhone | 手机号,该属性是否必填,可通过控制台配置,但必须保证在租户内的唯一性 | String |
birthday | 用户生日 | String |
userId | 用户的Id | String |
departmentId | 用户的部门Id | String |
groupId | 用户组的Id | String |
status | 当前用户的状态,pending = 1 待激活 actived = 2 已启用 pwdExpired = 3 密码过期 pwdReset = 4 密码重置 locked = 5 锁定 hangUp = 6 暂停 deactivated = 7 停用 delete = 8 删除 | String |
lastLogin | 上次登录时间 | String |
passwordChanged | 修改密码的时间 |
查询指定用户详情
GET ${baseUrl}/api/v1/account/user/{UserID}
获取指定用户的信息
请求示例
curl -X 'GET' \
'http://${yourXAuthDomain}/api/v1/account/user/CNaXHRp2' \
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}'
响应示例
{
"email": "qq123@qq.com",
"account": "qq123@qq.com",
"lastName": "string",
"firstName": "string",
"employeeId": "string",
"displayName": "stringstring",
"mobilePhone": "12811821182",
"department": [],
"group": [
"1"
],
"status": 3,
"source": "XAuth",
"profileId": 1,
"fromIdP": "1",
"userId": "CNaXHRp2",
"wayToAdd": "create"
}
参数 | 描述 | 类型 |
---|---|---|
account | 用户账号,该属性为必填,且必须唯一 | String |
firstName | 用户的名字 | String |
lastName | 用户的姓 | Sting |
邮箱,该属性是否必填,可通过控制台配置,但必须保证在租户内的唯一性 | String | |
mobilePhone | 手机号,该属性是否必填,可通过控制台配置,但必须保证在租户内的唯一性 | String |
birthday | 用户生日 | String |
userId | 用户的Id | String |
departmentId | 用户的部门Id | String |
groupId | 用户组的Id | String |
status | 当前用户的状态,pending = 1 待激活 actived = 2 已启用 pwdExpired = 3 密码过期 pwdReset = 4 密码重置 locked = 5 锁定 hangUp = 6 暂停 deactivated = 7 停用 delete = 8 删除 | String |
source | 用户的来源 | String |
fromIdP | 用户当前的继承源ID | String |
profileId | 用户的身份字典的ID,1位系统默认 | String |
wayToAdd | 用户创建的方式 | String |
查询用户详情列表(过滤)
GET ${baseUrl}/api/v1/account/user?filter=string&page=integer&limit=integer
读取所有用户在XAuth的详细资料,例如用户的账号、姓名、邮箱、手机号等信息。
请求示例
curl -X 'GET' \
'https://${yourXAuthDomain}/api/v1/account/user?filter=groupName&page=1&limit=10' \
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}' \
参数 | 描述 | 是否必填 | 类型 |
---|---|---|---|
filter | 过滤条件 | 否 | String |
page | 页码 | 否 | Integer |
limit | 每页数量 | 否 | Integer |
响应示例
{
"count": 1072,
"users": [
{
"account": "yytest111@cipherchina.com",
"lastName": "yu",
"nickName": "yytest111",
"firstName": "yuyangtest",
"displayName": "yuyangtestyutest",
"userId": "FycxeZyX",
"status": 2,
"department": [],
"group": [
"1"
],
"lastLogin": "2022-07-20T02:36:14.478471",
"passwordChanged": "2022-07-20T02:36:14.478475"
},
{
"email": "dev_003_stlt@beisensandbox.cn",
"userId": "kbSg7Fi8",
"account": "dev_003_stlt@beisensandbox.cn",
"lastName": "ss",
"firstName": "ss",
"employeeId": "",
"displayName": "ssss",
"mobilePhone": "",
"status": 2,
"department": [],
"group": [
"1",
"bMtEtsDm"
],
"lastLogin": "2022-07-20T02:36:14.506451",
"passwordChanged": "2022-07-20T02:36:14.506461"
},
{
"email": "beixiaosen@beisen.com",
"userId": "ofc6hrxK",
"account": "beixiaosen@beisen.com",
"lastName": "kang",
"firstName": "kang",
"employeeId": "",
"displayName": "kangkang",
"mobilePhone": "",
"status": 2,
"department": [],
"group": [
"1"
],
"lastLogin": "2022-07-20T02:36:14.536594",
"passwordChanged": "2022-07-20T02:36:14.536601"
}
]
}
创建用户
POST ${baseUrl}/api/v1/account/user
创建没有密码的用户。创建后,管理员可在管理后台进行激活操作,当用户被激活时,会向用户发送一封电子邮件,其中包含用户可以用来完成激活过程的激活链接。
请求示例
curl -X 'POST' \
'http://${yourXAuthDomain}/api/v1/account/user' \
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}' \
-H 'Content-Type: application/json' \
-d '{
"account": "liming",
"firstName": "李",
"lastName": "明",
"email": "example@163.com",
"mobilePhone": "13911391139",
"employeeId": "string",
"birthday": "2002-07-04",
"orgId": "string",
"departmentId": [
"string"
],
"groupId": [
"string"
],
"passwd": "string",
"needSendPwdMail": false,
"isImport": false
}'
参数 | 描述 | 类型 |
---|---|---|
account | 用户账号,该属性为必填,且必须唯一 | String |
firstName | 用户的名字 | String |
lastName | 用户的姓 | Sting |
邮箱,该属性是否必填,可通过控制台配置,但必须保证在租户内的唯一性 | String | |
mobilePhone | 手机号,该属性是否必填,可通过控制台配置,但必须保证在租户内的唯一性 | String |
birthday | 用户生日 | String |
orgId | 用户的外部Id | String |
departmentId | 用户的部门Id,如果需要创建时,将用户加入部门,需要填充该参数 | String |
groupId | 用户组的Id,如果需要创建时,将用户加入组,需要填充该参数 | String |
passwd | 用户的密码,用户首次登录时,会要求修改该密码 | String |
needSendPwdMail | 创建后,是否需要立即发送激活的邮件 | bool |
isImport | 创建的用户类型为外部导入用户,且需要通过InlineHook到外部用户源去进行认证,则标记为True,否则为False | bool |
响应示例
{
"userId": "CNaXHRp2",
"success": true
}
响应的参数如下。
参数 | 描述 | 类型 |
---|---|---|
userId | 创建成功后返回的用户id | String |
success | 是否创建成功 | Bool |
可能的错误
{
"errorCode": "409",
"errorSummary": "用户手机号已被占用",
"errorId": "4238dee7-c832-4e87-ade0-0811a9ff60a4",
"errorCauses": ""
}
错误id | 错误描述 |
---|---|
409 | 用户账号/手机号/邮箱/被占用 |
更新用户信息
PUT ${baseUrl}/api/v1/account/user/:userId
更新(补充)用户信息,包含动态字段。
请求示例
curl -X 'PUT' \
'https://${yourXAuthDomain}/api/v1/account/user/:userId' \
-H 'Content-Type:application/json'\
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}'\
-d 'userId:string'
-d '{
"propval": {
account: "6218",
address: "",
birthday: "",
displayName: "金娟",
email: "hxu@example.org",
employeeId: "",
firstName: "金娟",
gender: "",
idCardNumber: "",
jobTitle: "",
lastName: "金娟",
mobilePhone: "15975985273",
nickName: ""
}
}'
参数 | 描述 | 是否必填 | 类型 |
---|---|---|---|
userId | 用户ID,该属性唯一 ,从用户详情url最后一个路径获得 | 是 | String |
propval | 用户信息,包含账户,邮箱,手机号等 | 是 | Json |
响应示例
null
更新指定用户的部门
PUT ${baseUrl}/api/v1/account/user/:userId/org/:orgId/department/:depId
修改用户信息的部门
请求示例
curl -X 'PUT' \
'https://${yourXAuthDomain}/api/v1/account/user/:userId/org/:orgId/department/:depId' \
-H 'Content-Type:application/json'\
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}'\
-d 'userId:string,orgId:string,depId:string'
参数 | 描述 | 是否必填 | 类型 |
---|---|---|---|
userId | 用户ID,该属性唯一 ,从用户详情url最后一个路径获得 | 是 | String |
orgId | 组织ID | 是 | String |
depId | 部门ID | 是 | String |
响应示例
null
移除指定用户的部门
DELETE ${baseUrl}/api/v1/account/user/:userId/org/:orgId/department/:depId
移除指定用户下的部门
请求示例
curl -X 'POST' \
'https://${yourXAuthDomain}/api/v1/account/user/:userId/org/:orgId/department/:depId' \
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}' \
-d 'userId:string'\
-d 'orgId:string'\
-d 'depId:string'
参数 | 描述 | 是否必填 | 类型 |
---|---|---|---|
userId | 用户ID,该属性唯一 ,从用户详情url最后一个路径获得 | 是 | String |
orgId | 组织ID,该属性必须唯一 | 是 | String |
depId | 部门ID,该属性必须唯一 | 是 | String |
响应示例
null
更新指定用户的用户组
PUT ${baseUrl}/api/v1/account/user/:userId/group
更新指定用户的用户组
请求示例
curl -X 'PUT' \
'https://${yourXAuthDomain}/api/v1/account/user/:userId/group' \
-H 'Content-Type:application/json'\
-H 'accept: application/json' \
-H 'Authorization: SSWS ${api_token}'\
-d 'userId:string'\
-d '{
[groupId]
}'
参数 | 描述 | 是否必填 | 类型 |
---|---|---|---|
userId | 用户ID,该属性唯一 ,从用户详情url最后一个路径获得 | 是 | String |
groupId | 用户组ID | 是 | String |
响应示例
null