用户目录API-IDP4(UD)

最后更新:2024-09-09

本文档主要介绍IDP4本身UD自带的SCIM相关操作接口,主要用于SP推数据至IDaas

1. 集成方式

采用调用IDP4本身API的方式同步数据到IDaaS

2. API集成步骤

2.1. 创建应用(如果有则不需要创建)

该步骤主要目的帮助开发者在IDaaS平台上如何创建一个应用,以及获取AK,SK,用于识别是哪个应用向IDaaS平台同步数据。这里建议不要混用其他应用。

image.png

2.2. 设置数据范围和API接口范围

在上图中红框标记部分设置该应用允许访问的组织和账户数据范围和接口范围

2.3. 获取access_token

该步骤主要帮助开发者获取调用机构或人员API时所需的token,该token是对API接口做到保护作用,必须使用正确的AK与SK才能获取到token。

2.4. 调用接口

该步骤主要帮助开发者开发对应的机构或人员API接口,通过下面的文档介绍调用。

3. API文档

3.1. 应用获取token

调用API接口时,需要先获取access_token,调用接口时传入access_token有两种方式:

  • URL值后:URL?access_token={access_token}

  • Header里面:Authorization Bearer {access_token}(注意 bearer与access_token之间的空格)-推荐

client_id和client_secret即为创建应用时候查看到的API Key和APi Secret

Path:/oauth/token
Method: POST
请求方法: POST
Headers:

参数名称

参数值

是否必须

示例

备注

Content-Type

application/x-www-form-urlencoded

Body:

参数名称

参数类型

是否必须

示例

备注

client_id

text

client_id={API Key}

应用详情 API Key值

client_secret

text

client_secret={API Secret}

应用详情 API Secret值

scope

text

scope=read

固定值

grant_type

text

grant_type=client_credentials

固定值

返回数据

名称

类型

是否必须

默认值

备注

其他信息

access_token

string

必须

access_token凭证

token_type

string

必须

凭证类型

固定值 bearer

expires_in

number

必须

有效期

单位为秒

scope

string

必须

授权范围

固定值 read

jti

string

非必须

access_token为jwt格式时,才有此值。

2f5a91a9-e939-401e-8a0b-db0b5fdee42a

请求地址示例: {{idaas_host}}/oauth/token?client_id={{client_id}}&client_secret={{client_secret}}&scope=read&grant_type=client_credentials

返回示例 :

{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsiYXBwX2FwaV9yZXNvdXJjZSIsImVudGVycHJpc2VfbW9iaWxlX3Jlc291cmNlIiwiYmZmX2FwaV9yZXNvdXJjZSJdLCJzY29wZSI6WyJyZWFkIl0sImV4cCI6MTYyMDQ4NDI3MCwiYXV0aG9yaXRpZXMiOlsiUk9MRV9BUFBMSUNBVElPTl9BUEkiLCJST0xFX0VORF9VU0VSIl0sImp0aSI6ImQ0N2U3M2RlLTFiMTctNDgxZS05Yzg4LTNkODdlZGE1ODllZiIsImNsaWVudF9pZCI6IjBmZmI3MWI5MDQwY2IxZWM5OGZlZTQ1ZTllYWVkODQxWjIwQ2t0bmRremQifQ.UxPJWUOA9YWvKHRZ8VWgu1qwKCYKVBYfQfBMpJyvIQk",
  "token_type": "bearer",
  "expires_in": 43199,
  "scope": "read",
  "jti": "d47e73de-1b17-481e-9c88-3d87eda589ef"
}

image.png

3.2. 调用API

3.2.1. 组织机构

3.2.1.1. 推送组织机构

Path:/api/bff/v1.2/developer/scim/organization/create
Method: POST
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

应用获取到的access_token

Body

名称

类型

是否必须

备注

其他信息

organizationName

string

必须

机构名称

externalId

string

非必须

外部id,组织机构的唯一id,可作主键

如果不填,IDaaS将随机生成一个唯一值,并在结果中返回

parentExternalId

string

必须

所属的父级组织机构的唯一id

通过在系统”机构及组”中在组织机构属性中查看参数“外部ID”即可

type

string

非必须

组织机构类型

自建组织单位:SELF_OU,自建部门:DEPARTMENT,外部同步组织单位:EXTERNAL_OU,默认为DEPARTMENT

sortNumber

int

非必须

排序号

enabled

boolean

非必须

是否启用

true:启用,false:禁用,默认为true。

description

string

非必须

描述信息

不超过255个字符。

effectiveTime

datetime

非必须

生效时间

格式:2022-09-04 13:00:00
必须大于当前时间

extendFields

object

非必须

扩展字段

在IDaaS数据字典中定义,如果自定义扩展字段是必填选项,则该属性必填

├─ test1

string

非必须

manager

object[]

非必须

主管列表

├─ value

string

非必须

主管账户外部ID

返回数据

名称

类型

是否必须

备注

其他信息

success

boolean

必须

是否成功

code

string

必须

成功为200

message

null

必须

错误信息

success为false取值提示给用户

requestId

string

必须

无须关注

data

object

非必须

├─ externalId

string

非必须

返回的外部id,可作主键

├─ id

string

非必须

uuid

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:externalId:123456重复

请求参数错误

400

InvalidParameter.ExternalId.Exist

例如:外部ID重复,externalId:123456

外部id重复

400

InvalidParameter.Name.Exist

例如:OU名称重复,OrganizationName:研发部

组织机构的名称已存在

403

Forbidden

例如:没有权限操作该父OU

没有权限操作

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/organization/create
请求示例:

{
  "organizationName": "成都研发部",
  "externalId": "12345609877332",
  "parentExternalId": "2961201661376138058",
  "type": "DEPARTMENT",
  "sortNumber": "3",
  "enabled": true,
  "description": "负责产品研发",
  "extendFields": {
    "test1": "123"
  },
  "manager": [
    {
      "value": "7962078547983645191"
    },
    {
      "value": "7515197174099641957"
    }
  ]
}

返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620441890839$1be504af-ddc2-c5e3-ef2e-35c9682890af",
  "data": {
    "externalId": "12345609877332",
    "id": "48dac1a9e83bc7fb3436283cd9fd00e1dOxlgdGxN15"
  }
}

image.png

3.2.1.2. 修改组织机构

Path:/api/bff/v1.2/developer/scim/organization/update
Method: PUT
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

应用获取到的access_token

Body

名称

类型

是否必须

备注

其他信息

externalId

string

必须

外部id,组织机构的唯一id,可作主键

organizationName

string

非必须

机构名称

parentExternalId

string

非必须

所属的父级组织机构的唯一id

通过在系统”机构及组”中在组织机构属性中查看参数“外部ID”即可

type

string

非必须

组织机构类型

自建组织单位:SELF_OU,自建部门:DEPARTMENT,外部同步组织单位:EXTERNAL_OU,默认为DEPARTMENT

sortNumber

int

非必须

排序号

enabled

boolean

非必须

是否启用

true:启用,false:禁用,默认为true

description

string

非必须

描述信息

不超过255个字符

effectiveTime

datetime

非必须

生效时间

格式:2022-09-04 13:00:00
必须大于当前时间

extendFields

object

非必须

扩展字段

在IDaaS数据字典中定义

├─ test1

string

非必须

manager

object[]

非必须

主管列表

├─ value

string

非必须

主管账户外部ID

  • 提示:不准备修改的字段可不传。

返回数据

名称

类型

是否必须

备注

其他信息

success

boolean

必须

是否成功

code

string

必须

成功为200

message

null

必须

错误信息

success为false取值提示给用户

requestId

string

必须

无须关注

data

object

非必须

├─ externalId

string

非必须

返回的外部id,主键

├─ id

string

非必须

uuid

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:描述信息不能超过500个字符

请求参数错误

400

EntityNotFound

例如:组织机构不存在

未查找到要更新的OU

400

InvalidParameter.Name.Exist

例如:OU名称重复,OrganizationName:研发部

组织机构的名称已存在

400

OperationDenied

例如:OU不能移动到自己子级下

不被允许的操作

403

Forbidden

例如:没有权限操作该父OU

没有权限操作

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/organization/update
请求示例 :

{
  "description": "",
  "organizationName": "成都研发部",
  "externalId": "12345609877332",
  "parentExternalId": "2961201661376138058",
  "enabled": false,
  "type": null,
  "sortNumber": "5",
  "extendFields": {
    "test1": "1235123"
  }
}

返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620441921304$7a08f7ce-9120-1a2c-aa20-a835abbcb2d8",
  "data": {
    "externalId": "12345609877332",
    "id": "48dac1a9e83bc7fb3436283cd9fd00e1dOxlgdGxN15"
  }
}

image.png

3.2.1.3. 删除组织机构

Path:/api/bff/v1.2/developer/scim/organization/delete
Method: DELETE
Headers

参数名称

参数值

是否必须

示例

备注

Authorization

Bearer {access_token}

应用获取到的access_token

Query

参数名称

是否必须

示例

备注

externalId

外部id,组织机构的唯一id,可作主键

返回数据

名称

类型

是否必须

备注

其他信息

success

boolean

必须

是否成功

code

string

必须

成功为200

message

null

必须

错误信息

success为false取值提示给用户

requestId

string

必须

无须关注

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:外部id(externalId)不能为空

请求参数错误

400

EntityNotFound

例如:组织机构不存在

未查找到要更新的OU

400

OperationDenied.OUContainsChildren

例如:该OU存在关联关系,不能删除

未查找到要更新的OU

403

Forbidden

例如:没有权限操作该父OU

没有权限操作

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/organization/delete?externalId={{externalId}}
返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620441956051$13d70a5d-ef59-c447-9a30-12aeac3c5c2c"
}

image.png

3.2.2. 账户

3.2.2.1. 推送账户

Path:/api/bff/v1.2/developer/scim/account/create
Method: POST
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

备注

其他信息

externalId

string

非必须

外部id,账户的唯一id,可作主键

如果不填,IDaaS将随机生成一个唯一值,并在结果中返回

userName

string

必须

账户名称

登录名称

displayName

string

必须

显示名称

password

string

非必须

IDaaS平台主账户密码

若为空,则将使用系统随机密码。

firstLogin

boolean

非必须

是否首次登录

打开密码策略的强制改密的前提下,true 表示触发首次登录强制修改密码

email

string

非必须

邮箱

唯一

phoneNumber

string

非必须

手机号

唯一

phoneRegion

string

非必须

手机号区号

enabled

boolean

非必须

是否启用

true:启用,false:禁用,默认为true。

locked

boolean

非必须

是否锁定

true:已锁定,false:未锁定,默认为false。

description

string

非必须

描述信息

不超过255个字符

expireTime

datetime

非必须

过期时间

格式:2022-09-04 13:00:00
必须大于当前时间

effectiveTime

datetime

非必须

生效时间

格式:2022-09-04 13:00:00
必须大于当前时间

avatarUuid

string

非必须

头像唯一标识

通过“上传账户头像”接口上传头像图片后得到

userBelongs

string []

必须

所属组织机构的集合

├─externalId

String

必须

​组织机构的唯一id

├─mainOu

boolean

非必须

是否主组织

true:是,false:不是, 都填写true/都填写false/都不填写,则默认第一个为主组织,填写多个true,则默认第一个填写true的为主组织

├─extendFields

object

非必须

自定义”人员-组织属性”数据字典

在IDaaS数据字典中定义,如果自定义扩展字段是必填选项,则该属性必填

├─displayOrder

long

非必须

排序号

从0开始

extendFields

object

非必须

扩展字段

在IDaaS数据字典中定义,如果自定义扩展字段是必填选项,则该属性必填

├─ test

string

非必须

├─ test1

string

非必须

applicationUuid

string

非必须

应用uuid

选填,应用的uuid可在应用列表-具体应用详情里查看,若传递则代表需要推送应用子账户,子账户信息参考applicationUsers

applicationUsers

object[]

非必须

应用子账户列表

├─ username

string

必须

子账户名

├─ test

string

非必须

子账户扩展字段

​在IDaaS数据字典中定义,如果自定义扩展字段是必填选项,则该属性必填

返回数据

名称

类型

是否必须

备注

其他信息

success

boolean

必须

是否成功

code

string

必须

成功为200

message

null

必须

错误信息

success为false取值提示给用户

requestId

string

必须

无须关注

data

object

非必须

├─ externalId

string

非必须

返回的外部id,可作主键

├─ id

string

非必须

uuid

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:账户名称不能为空

请求参数错误

400

InvalidParameter.ExternalId.Exist

例如:externalId外部ID重复

外部id重复

400

InvalidParameter.Name.Exist

例如:账户名(username)已经存在

账户名称已经存在

400

InvalidParameter.Name.Exist

例如:账户名(username)已经存在

账户名称已经存在

400

InvalidParameter.DisplayName.Exist

例如:显示名已经存在

显示名已经存在

400

InvalidParameter.Email.Exist

例如:邮箱(email)已被其他账户绑定

邮箱(email)已被其他账户绑定

400

InvalidParameter.PhoneNumber.Exist

例如:手机号(phoneNumber)已被其他账户绑定

手机号(phoneNumber)已被其他账户绑定

400

InvalidParameter.PhoneEmail.AllEmpty

例如:手机号(phoneNumber)和邮箱(email)必须选填一个

手机号(phoneNumber)和邮箱(email)不能全为空

400

EntityNotFound

例如:所属组织机构(belongs):123456不存在

未查找到externalId对应的OU

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/account/create
请求示例 :

{
  "externalId": "12345609877332",
  "userName": "developer2",
  "displayName": "开发人员3",
  "password": "Jdev@12345",
  "email": "test2@test.com",
  "phoneNumber": "",
  "description": "",
  "phoneRegion": "",
  "expireTime": null,
  "userBelongs": [
    {
      "externalId": "123456",
      "displayOrder": 3243243,
      "mainOu": true,
      "extendFields": {
        "attr": "123",
        "position": "pdsa"
      }
    }
  ],
  "extendFields": {
    "test": "123456",
    "test1": "woman"
  },
  "applicationUuid": "2029afb7cfa9dcbf01f4c16df2632f79SBhU2RbjQb9",
  "applicationUsers": [
    {
      "username": "developer2",
      "adCode": "ad111",
      "ldapCode": "ldap111"
    },
    {
      "username": "developer22",
      "adCode": "ad222",
      "ldapCode": "ldap222"
    }
  ]
}

成功示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620442045576$7b6c6eb2-f581-1cd3-61df-e25fbd81e432",
  "data": {
    "externalId": "12345609877332",
    "id": "102c03563bc868f5055438828f1b30063g5xe8NBpKk"
  }
}

image.png

3.2.2.2. 修改账户

Path:/api/bff/v1.2/developer/scim/account/update
Method: PUT
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

备注

其他信息

externalId

string

必须

外部id,账户的唯一id,可作主键

账户外部ID(和账户名称必填一个)

userName

string

必须

账户名称

账户名称(和外部ID必填一个)

displayName

string

非必须

显示名称

password

string

非必须

IDaaS平台主账户密码

email

string

非必须

邮箱

唯一

phoneNumber

string

非必须

手机号

唯一

enabled

boolean

非必须

​是否启用

​true:启用,false:禁用,默认为true

locked

boolean

非必须

​是否锁定

​true:已锁定,false:未锁定,默认为false

description

string

非必须

描述信息

不超过255个字符

expireTime

string

非必须

过期时间

格式:2022-09-04 13:00:00
必须大于当前时间

effectiveTime

datetime

非必须

生效时间

格式:2022-09-04 13:00:00
必须大于当前时间

avatarUuid

string

非必须

头像唯一标识

通过“上传账户头像”接口上传头像图片后得到

userBelongs

string []

必须

所属组织机构的集合

├─externalId

String

必须

​组织机构的唯一id

├─mainOu

boolean

非必须

是否主组织

true:是,false:不是, 都填写true/都填写false/都不填写,则默认第一个为主组织,填写多个true,则默认第一个填写true的为主组织

├─extendFields

object

非必须

自定义”人员-组织属性”数据字典

在IDaaS数据字典中定义

├─displayOrder

long

非必须

排序号

从0开始

extendFields

object

非必须

扩展字段

在IDaaS数据字典中定义

├─ test

string

非必须

├─ test1

string

非必须

applicationUuid

string

非必须

应用uuid

选填,应用的uuid可在应用列表-具体应用详情里查看,若传递则代表需要推送应用子账户,子账户信息参考applicationUsers

applicationUsers

object[]

非必须

应用子账户列表

├─ username

string

必须

子账户名

├─ xxx…

string

非必须

子账户扩展字段’

在IDaaS数据字典中定义

  • 提示:不准备修改的字段可不传。

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:账户名称不能为空

请求参数错误

400

InvalidParameter.ExternalId.Exist

例如:externalId外部ID重复

外部id重复

400

InvalidParameter.Name.Exist

例如:账户名(username)已经存在

账户名称已经存在

400

InvalidParameter.DisplayName.Exist

例如:显示名已经存在

显示名已经存在

400

InvalidParameter.Email.Exist

例如:邮箱(email)已被其他账户绑定

邮箱(email)已被其他账户绑定

400

InvalidParameter.PhoneNumber.Exist

例如:手机号(phoneNumber)已被其他账户绑定

手机号(phoneNumber)已被其他账户绑定

400

InvalidParameter.PhoneEmail.AllEmpty

例如:手机号(phoneNumber)和邮箱(email)必须选填一个

手机号(phoneNumber)和邮箱(email)不能全为空

400

InvalidParameter.ExternalId.NotExist

例如:通过externalId查询不到账户

未查找到externalId对应的账户

400

EntityNotFound

例如:所属组织机构(belongs):123456不存在

未查找到externalId对应的OU

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/account/update
请求示例 :

{
  "externalId": "12345609877332",
  "userName": "developer2",
  "displayName": "开发人员4",
  "password": "Jdev@12345",
  "email": "test2@test.com",
  "phoneNumber": "",
  "description": "",
  "mainOUBelong": "",
  "userBelongs": [
    {
      "belong": "123456",
      "displayOrder": 3243243,
      "mainOu": true,
      "extendFields": {
        "attr": "123",
        "position": "pdsa"
      }
    }
  ],
  "extendFields": {
    "test": "123456",
    "test1": "woman"
  },
  "applicationUuid": "2029afb7cfa9dcbf01f4c16df2632f79SBhU2RbjQb9",
  "applicationUsers": [
    {
      "username": "developer2",
      "adCode": "ad111",
      "ldapCode": "ldap111"
    },
    {
      "username": "developer22",
      "adCode": "ad222",
      "ldapCode": "ldap222"
    }
  ]
}

返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620442079935$84b7e280-7242-6830-f632-14bfe2f7e8d4",
  "data": {
    "externalId": "12345609877332",
    "id": "102c03563bc868f5055438828f1b30063g5xe8NBpKk"
  }
}

image.png

3.2.2.3. 删除账户

Path:/api/bff/v1.2/developer/scim/account/delete
Method: DELETE

Headers

参数名称

参数值

是否必须

示例

备注

Authorization

Bearer {access_token}

Query

参数名称

是否必须

示例

备注

externalId

外部id,账户的唯一id,可作主键

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:外部id(externalId)不能为空

请求参数错误

400

EntityNotFound

例如:账户不存在

未查找到要删除的账户

403

OperationDenied

例如:管理员 admin 不能删除

删除操作不被允许

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/account/delete?externalId={{externalId}}
返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620442094115$5c057847-70bb-0391-306b-162643fd994c"
}

image.png

3.2.2.4. 离职账户

Path:/api/bff/v1.2/developer/scim/account/archive
Method: PUT

Headers

参数名称

参数值

是否必须

示例

备注

Authorization

Bearer {access_token}

Body

参数名称

是否必须

示例

备注

externalId

外部id,账户的唯一id,可作主键

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:外部id(externalId)不能为空

请求参数错误

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/account/archive
返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1638948843358$fac3b9ad-b426-b2d7-8c69-2746b8d050bf",
  "data": null
}

image.png

3.2.2.5. 返聘账户

Path:/api/bff/v1.2/developer/scim/account/rehired
Method: PUT
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

备注

其他信息

externalId

string

必须

外部id,账户的唯一id,可作主键

organizationExternalId

string

非必须

返聘后账户所属组织机构外部id

不填则返聘至原组织机构下,若原组织机构不存在则返聘至根组织机构下

useOldGroup

boolean

非必须

是否使用原来的组信息

默认true,保留原所属组信息

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:外部id(externalId)不能为空

请求参数错误

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/account/rehired
请求示例 :

{
  "externalId": "12345609877332",
  "organizationExternalId": "11648579523462"
}

返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1620442079935$84b7e280-7242-6830-f632-14bfe2f7e8d4",
  "data": {
    "externalId": "12345609877332",
    "id": "102c03563bc868f5055438828f1b30063g5xe8NBpKk"
  }
}

image.png

3.2.2.6. 上传账户头像

Path:/api/bff/v1.2/developer/scim/account/avatar/upload
Method: POST
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

默认值

备注

其他信息

base64File

string

必须

图片转base64字符串, 文件大小不超过1MB

filename

string

必须

文件名称,例如:123.jpg

仅支持JPG、PNG格式

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

├─uuid

string

头像数据唯一标识

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

400

例如:仅支持JPG、PNG格式

请求参数错误

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/account/avatar/upload
请求示例 :

{
  "base64File": "iVBORw0KGgoAAAANSUhEUgAABWs****+Pbf33FEAAAAASUVORK5CYII=",
  "filename": "avatar.png"
}

返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1671596832872$c3b3a198-5868-ff24-67a4-840e8485bbe6",
  "data": {
    "uuid": "8e5be602c73462c7d84b1ca5419b9100s1UOQfxQabF"
  }
}

image.png

3.2.3. 组

3.2.3.1. 推送组

Path:/api/bff/v1.2/developer/scim/group/create
Method: POST
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

备注

其他信息

externalId

string

非必须

外部id,组的唯一id,可作主键

如果不填,IDaaS将随机生成一个唯一值,并在结果中返回

displayName

string

必须

显示名称

ouExternalId

string

必须

所属的父级组织机构的唯一id

description

string

非必须

描述信息

不超过255个字符

addMembers

object[]

非必须

组成员信息

├─ accountExternalId

string

非必须

组成员外部id

├─ username

string

非必须

组成员用户名

extendFields

object

非必须

扩展字段

在IDaaS数据字典中定义,如果自定义扩展字段是必填选项,则该属性必填

├─ test

string

非必须

├─ test1

string

非必须

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

├─ externalId

string

返回的外部id,主键

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:组名称不能为空

请求参数错误

400

InvalidParameter.DisplayName.Exist

例如:当前OU下,组名已经存在

显示名已经存在

400

InvalidParameter.ExternalId.Exist

例如:externalId已存在

externalId已存在

400

EntityNotFound

例如:OU不存在

组隶属的OU不存在

403

Forbidden

例如:没有权限操作该组

没有权限操作该组

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/group/create
请求示例 :

{
  "externalId": "121-11",
  "displayName": "测试同步组11",
  "ouExternalId": "605016592710192945",
  "addMembers": [
    {
      "accountExternalId": "",
      "username": "test1"
    }
  ],
  "extendFields": {
    "test": "123456"
  }
}

成功示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1638516367923$28829ca7-b8c8-d03c-9558-b91328184e9e",
  "data": {
    "externalId": "121-11"
  }
}

img.png

3.2.3.2. 修改组

Path:/api/bff/v1.2/developer/scim/group/update
Method: PUT
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

备注

其他信息

externalId

string

必须

外部id,组的唯一id,可作主键

displayName

string

非必须

显示名称

description

string

非必须

描述信息

不超过255个字符

addMembers

object []

非必须

需要添加的组成员

├─accountExternalId

String

非必须

账户外部ID

如果同时传了accountExternalId和username,以accountExternalId为准

├─username

string

非必须

账户名

如果同时传了accountExternalId和username,以accountExternalId为准

deleteMembers

object[]

非必须

需要移除的组成员

已经存在的账户外部ID和账户名

├─accountExternalId

String

非必须

账户外部ID

如果同时传了accountExternalId和username,以accountExternalId为准

├─username

string

非必须

账户名

如果同时传了accountExternalId和username,以accountExternalId为准

extendFields

object

非必须

扩展字段

在IDaaS数据字典中定义

├─ test

string

非必须

├─ test1

string

非必须

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:组的externalId参数不能为空

请求参数错误

400

InvalidParameter.DisplayName.Exist

例如:当前OU下,组名已经存在

显示名已经存在

400

InvalidParameter.ExternalId.NotExist

例如:externalId不存在

externalId不存在

403

Forbidden

例如:没有权限操作该组 没有权限操作该组

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/group/update
请求示例 :

{
  "externalId": "121434322",
  "description": "tttt测试",
  "displayName": "测试t121",
  "addMembers": [
    {
      "accountExternalId": "",
      "username": "test1"
    }
  ],
  "deleteMembers": [
    {
      "accountExternalId": "",
      "username": "test2"
    }
  ],
  "extendFields": {
    "test": "ttt测试"
  }
}

返回示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "BF66FA08-E57B-4387-90C0-A72E41307239",
  "data": null
}

img.png

3.2.3.3. 删除组

Path:/api/bff/v1.2/developer/scim/group/delete
Method: DELETE

Headers

参数名称

参数值

是否必须

示例

备注

Authorization

Bearer {access_token}

Query

参数名称

是否必须

示例

备注

externalId

外部id,组的唯一id,可作主键

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:组的externalId参数不能为空

请求参数错误

400

EntityNotFound

例如:查询不到组信息

未查询到组信息

400

OperationDenied.GroupContainsChildren

例如:组有关联成员(如有子成员),不能删除

组有关联成员(如有子成员),不能删除

403

Forbidden

例如:没有权限操作该组

没有权限操作该组

请求地址示例:{{idaas_host}}//api/application/group?externalId=1694618271068407094 请求示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "BF66FA08-E57B-4387-90C0-A72E41307239",
  "data": null
}

img.png

3.2.3.4. 添加组成员

Path:/api/bff/v1.2/developer/scim/group/add_group_members
Method: POST
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

默认值

备注

其他信息

externalId

string

必须

外部id,组的唯一id,可作主键

addMembers

object []

必须

需要添加的组成员

一次组成员最多不超过10

├─accountExternalId

String []

非必须

账户外部ID

如果同时传了accountExternalId和username,以accountExternalId为准

├─username

string

非必须

账户名

如果同时传了accountExternalId和username,以accountExternalId为准

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

├─ addFailureMemberDtos

string[]

返回添加失败的外部id

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:组名称不能为空

请求参数错误

400

InvalidParameter.DisplayName.Exist

例如:当前OU下,组名已经存在

显示名已经存在

400

InvalidParameter.ExternalId.Exist

例如:externalId已存在

externalId已存在

400

EntityNotFound

例如:OU不存在

组隶属的OU不存在

403

Forbidden

例如:没有权限操作该组

没有权限操作该组

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/group/add_group_members
请求示例 :

{
  "externalId": "5613281506756426797",
  "addMembers": [
    {
      "accountExternalId": "2142057301007169643 "
    }
  ]
}

响应示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1670920450751$ef482589-6cd3-5b2e-f479-a5f280243a22",
  "data": {
    "addFailureMemberDtos": []
  }
}

img.png

3.2.3.5. 移除组成员

Path:/api/bff/v1.2/developer/scim/group/delete_group_members
Method: POST
Headers

参数名称

参数值

是否必须

示例

备注

Content-Type

application/json

Authorization

Bearer {access_token}

Body

名称

类型

是否必须

默认值

备注

其他信息

externalId

string

必须

外部id,组的唯一id,可作主键

deleteMembers

object []

必须

需要移除的组成员

一次组成员最多不超过10

├─accountExternalId

String []

非必须

账户外部ID

如果同时传了accountExternalId和username,以accountExternalId为准

├─username

string

非必须

账户名

如果同时传了accountExternalId和username,以accountExternalId为准

返回数据

名称

类型

备注

其他信息

success

boolean

是否成功

code

string

成功为200

message

null

错误信息

success为false取值提示给用户

requestId

string

无须关注

data

object

├─ deleteFailureMemberDtos

string[]

返回移除失败的外部id

错误码

HttpCode(请求状态码)

code(错误码)

message(错误信息)

备注

200

200

null

请求成功

400

InvalidParameter

例如:组名称不能为空

请求参数错误

400

InvalidParameter.DisplayName.Exist

例如:当前OU下,组名已经存在

显示名已经存在

400

InvalidParameter.ExternalId.Exist

例如:externalId已存在

externalId已存在

400

EntityNotFound

例如:OU不存在

组隶属的OU不存在

403

Forbidden

例如:没有权限操作该组

没有权限操作该组

请求地址示例:{{idaas_host}}/api/bff/v1.2/developer/scim/group/delete_group_members
请求示例 :

{
  "externalId": "5613281506756426797",
  "deleteMembers": [
    {
      "accountExternalId": "2142057301007169643 "
    }
  ]
}

响应示例 :

{
  "success": true,
  "code": "200",
  "message": null,
  "requestId": "1670920450751$ef482589-6cd3-5b2e-f479-a5f280243a22",
  "data": {
    "deleteFailureMemberDtos": []
  }
}

img.png