- 开发集成
- /
- JavaScript / Node.js
- /
- 管理模块
- /
- 管理多租户
¶ 管理多租户
更新时间: 2022-03-01 17:48:57
此模块可以进行租户管理和身份源连接管理等操作。
请使用以下方式使用该模块:
import { ManagementClient } from 'authing-js-sdk'
const managementClient = new ManagementClient({
userPoolId: 'YOUR_USERPOOL_ID',
secret: 'YOUR_USERPOOL_SECRET',
})
managementClient.tenant.list // 获取用户池下的租户列表
managementClient.tenant.create // 创建租户
managementClient.tenant.update // 修改租户
managementClient.tenant.delete // 删除租户
¶ 获取用户池下的租户列表
获取用户池下租户列表。
managementClient.tenant.list(params)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
params.page | string | 否 | 分页参数,页数。 |
params.limit | string | 否 | 分页参数,每页显示个数。当参数 limit = -1 时,将返回所有数据 |
¶ 示例
const tenants = await managementClient.tenant.list();
const tenants = await managementClient.tenant.list({page:1,limit:10});
¶ 返回值
参数 | 类型 | 描述 |
---|---|---|
list | object array | 租户列表 |
totalCount | number | 总条数 |
¶ 示例数据
{
list: [
{
id: '619b07312d6b99e1af7d8e4e',
createdAt: '2021-11-22T02:57:53.426Z',
updatedAt: '2021-11-22T02:57:53.426Z',
userPoolId: '619b014f144de0ffc38b869d',
name: '示例名称',
logo: 'https://files.authing.co/user-contents/photos/bd5bd9c3-3be8-475f-b8f5-752751d91bb6.png',
description: null,
css: null,
ssoPageCustomizationSettings: null,
defaultLoginTab: 'password',
defaultRegisterTab: 'email',
passwordTabConfig: [Object],
loginTabs: [Array],
registerTabs: null,
extendsFields: null
}
],
totalCount: 1
}
¶ 根据 ID 查询租户详情
根据 ID 查询租户详情
managementClient.tenant.details(tenantId)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户 ID |
¶ 示例
const tenant = await managementClient.tenant.details('租户 ID');
¶ 返回值
{
id: '619b07312d6b99e1af7d8e4e',
createdAt: '2021-11-22T02:57:53.426Z',
updatedAt: '2021-11-22T02:57:53.426Z',
userPoolId: '619b014f144de0ffc38b869d',
name: '示例名称',
logo: 'https://files.authing.co/user-contents/photos/bd5bd9c3-3be8-475f-b8f5-752751d91bb6.png',
description: null,
css: null,
ssoPageCustomizationSettings: null,
defaultLoginTab: 'password',
defaultRegisterTab: 'email',
passwordTabConfig: {
enabledLoginMethods: [ 'username-password', 'email-password', 'phone-password' ]
},
loginTabs: [ 'phone-code', 'password' ],
registerTabs: null,
extendsFields: null,
apps: [
{
qrcodeScanning: [Object],
id: '619b0150216449466e8728e9',
createdAt: '2021-11-22T02:32:48.435Z',
updatedAt: '2021-11-22T02:58:28.862Z',
userPoolId: '619b014f144de0ffc38b869d',
protocol: 'oidc',
isOfficial: false,
isDeleted: false,
isDefault: false,
isDemo: true,
name: '示例应用名称',
description: null,
secret: '48b90d4f2add0bde9f3ceafa3606dac7',
identifier: 'p12jzu-demo',
jwks: [Object],
ssoPageCustomizationSettings: null,
logo: 'https://files.authing.co/authing-console/default-app-logo.png',
redirectUris: [Array],
logoutRedirectUris: [],
initLoginUrl: null,
oidcProviderEnabled: true,
oauthProviderEnabled: false,
samlProviderEnabled: false,
casProviderEnabled: false,
registerDisabled: false,
loginTabs: [Array],
passwordTabConfig: [Object],
defaultLoginTab: 'password',
registerTabs: [Array],
defaultRegisterTab: 'email',
ldapConnections: null,
adConnections: [],
extendsFieldsEnabled: false,
extendsFields: [],
ext: null,
css: null,
oidcConfig: [Object],
oidcJWEConfig: null,
samlConfig: null,
oauthConfig: [Object],
casConfig: null,
showAuthorizationPage: false,
enableSubAccount: false,
enableDeviceMutualExclusion: false,
loginRequireEmailVerified: false,
agreementEnabled: false,
isIntegrate: false,
ssoEnabled: false,
template: null,
skipMfa: false,
casExpireBaseBrowser: false,
appType: 'INDIVIDUAL',
permissionStrategy: [Object]
}
]
}
¶ 创建租户
创建租户
managementClient.tenant.create(options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
options.name | string | 是 | 租户名称 |
options.appIds | string | 是 | 应用 ID,支持关联多个应用,使用英文逗号分隔 |
options.logo | string | 否 | 头像资源地址,通过图片上传接口中的 url 值 |
options.description | string | 否 | 租户描述 |
¶ 示例
const tenant = await managementClient.tenant.create({
name:"搜索",
appIds:"619b64e4ccc0467dcba00920",
});
¶ 返回值
{
userPoolId: '619b014f144de0ffc38b869d',
name: '搜索',
createdAt: '2021-11-22T09:38:05.696Z',
updatedAt: '2021-11-22T09:38:05.696Z',
id: '619b64fd2cfccd07a8296839',
logo: null,
description: null,
css: null,
ssoPageCustomizationSettings: null,
defaultLoginTab: 'password',
defaultRegisterTab: 'email',
passwordTabConfig: null,
loginTabs: null,
registerTabs: null,
extendsFields: null,
apps: [
{
qrcodeScanning: [Object],
id: '619b64e4ccc0467dcba00920',
createdAt: '2021-11-22T09:37:40.422Z',
updatedAt: '2021-11-22T09:37:40.462Z',
userPoolId: '619b014f144de0ffc38b869d',
protocol: 'oidc',
isOfficial: false,
isDeleted: false,
isDefault: false,
isDemo: false,
name: '搜索网',
description: null,
secret: '1f264d7d4b2dd2d4996ad7185c45a6f9',
identifier: 'search',
jwks: [Object],
ssoPageCustomizationSettings: null,
logo: 'https://files.authing.co/authing-console/default-app-logo.png',
redirectUris: [Array],
logoutRedirectUris: [],
initLoginUrl: null,
oidcProviderEnabled: true,
oauthProviderEnabled: false,
samlProviderEnabled: false,
casProviderEnabled: false,
registerDisabled: false,
loginTabs: [Array],
passwordTabConfig: [Object],
defaultLoginTab: 'password',
registerTabs: [Array],
defaultRegisterTab: 'email',
ldapConnections: null,
adConnections: [],
extendsFieldsEnabled: false,
extendsFields: [],
ext: null,
css: '/* \n' +
' Edit login page css\n' +
' eg:\n' +
' .authing-guard-layout {\n' +
' background: black !important;\n' +
' }\n' +
' Change the background color\n' +
'*/',
oidcConfig: [Object],
oidcJWEConfig: null,
samlConfig: null,
oauthConfig: [Object],
casConfig: null,
showAuthorizationPage: false,
enableSubAccount: false,
enableDeviceMutualExclusion: false,
loginRequireEmailVerified: false,
agreementEnabled: false,
isIntegrate: false,
ssoEnabled: false,
template: null,
skipMfa: false,
casExpireBaseBrowser: false,
appType: 'INDIVIDUAL',
permissionStrategy: [Object]
}
]
}
¶ 修改租户
修改租户
managementClient.tenant.update(tenantId, options);
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户 ID |
options.name | string | 否 | 租户名称 |
options.appIds | string | 否 | 应用 ID,支持关联多个应用,使用英文逗号分隔 |
options.logo | string | 否 | logo 图标地址,图片上传接口中的 url 值 |
options.description | string | 否 | 租户描述 |
¶ 示例
const tenant = await managementClient.tenant.update('6194aeee9ccea057e89738f0',{
name:"qq"
});
¶ 返回值
boolean : true / false
¶ 删除租户
删除租户
managementClient.tenant.delete(tenantId);
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户 ID |
¶ 示例
const tenant = await managementClient.tenant.delete('6194c58fa1a910549fc62aa5');
¶ 返回值
{
"code": 200,
"message": "删除租户成功"
}
¶ 配置租户品牌化
配置租户品牌化
managementClient.tenant.config(tenantId, options);
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户 ID |
options.css | string | 否 | 自定义 CSS |
options.ssoPageCustomizationSettings | object | 否 | ssoPageCustomizationSettings 对象的内容包含以下参数 |
ssoPageCustomizationSettings.autoRegisterThenLogin | boolean | 否 | 将注册和登录合并 |
ssoPageCustomizationSettings.hideForgetPassword | boolean | 否 | 隐藏忘记密码按钮 |
ssoPageCustomizationSettings.hideIdp | boolean | 否 | 隐藏企业身份源登录 |
ssoPageCustomizationSettings.hideSocialLogin | boolean | 否 | 隐藏社会化登录按钮 |
¶ 示例
const tenant = await managementClient.tenant.config('6194aeee9ccea057e89738f0', {css:".btnId {\n text-color: #FF00EE}"});
¶ 返回值
boolean : true / false
¶ 获取租户成员列表
获取租户成员列表
managementClient.tenant.members(tenantId, options);
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户 ID |
options.page | string | 否 | 分页参数,页数。 |
options.limit | string | 否 | 分页参数,每页显示个数。当参数 limit = -1 时,将返回所有数据 |
¶ 示例
const tenant = await managementClient.tenant.members('6194aeee9ccea057e89738f0');
const tenant = await managementClient.tenant.members('6194aeee9ccea057e89738f0',{page:1,limit:10});
¶ 返回值
list
成员列表listTotal
总条数
¶ 示例数据
{
"list": [{
"id": "619b7b5b626abd61ffeebd8e",
"tenantId": "619b64fd2cfccd07a8296839",
"user": {
"id": "619b07826feaa09f07b598de",
"arn": "arn:cn:authing:619b014f144de0ffc38b869d:user:619b07826feaa09f07b598de",
"userPoolId": "619b014f144de0ffc38b869d",
"photo": "https://files.authing.co/authing-console/default-user-avatar.png",
"email": null,
"emailVerified": false,
"phone": null,
"phoneVerified": false,
"unionid": null,
"openid": null,
"username": "zy",
"nickname": null,
"country": null,
"province": null,
"company": null,
"loginsCount": 0,
"lastIp": null,
"name": null,
"givenName": null,
"familyName": null,
"middleName": null,
"profile": null,
"preferredUsername": null,
"website": null,
"gender": "U",
"birthdate": null,
"zoneinfo": null,
"address": null,
"formatted": null,
"streetAddress": null,
"region": null,
"postalCode": null,
"city": null,
"blocked": false
}
}],
"listTotal": 1
}
¶ 添加租户成员
添加租户成员,仅支持现用户池内存在的用户。
managementClient.tenant.addMembers(tenantId, userIds);
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户标识符 ID |
userIds | array string | 是 | 用户 ID |
¶ 示例
const tenant = await managementClient.tenant.addMembers('6194aeee9ccea057e89738f0',['619b07ab229e3bfa98e94ee2']);
¶ 返回值
{
id: '619b64fd2cfccd07a8296839',
createdAt: '2021-11-22T09:38:05.696Z',
updatedAt: '2021-11-22T09:38:05.696Z',
userPoolId: '619b014f144de0ffc38b869d',
name: '聚合搜索',
logo: null,
description: null,
css: '.btnId {\n text-color: #FF00EE}',
ssoPageCustomizationSettings: null,
defaultLoginTab: 'password',
defaultRegisterTab: 'email',
passwordTabConfig: {
enabledLoginMethods: [ 'username-password', 'email-password', 'phone-password' ]
},
loginTabs: [ 'phone-code', 'password' ],
registerTabs: null,
extendsFields: null,
users: [
{
id: '619b07ab229e3bfa98e94ee2',
arn: 'arn:cn:authing:619b014f144de0ffc38b869d:user:619b07ab229e3bfa98e94ee2',
userPoolId: '619b014f144de0ffc38b869d',
photo: 'https://files.authing.co/authing-console/default-user-avatar.png',
email: null,
emailVerified: false,
phone: null,
phoneVerified: false,
unionid: null,
openid: null,
username: 'jl',
nickname: null,
country: null,
province: null,
company: null,
loginsCount: 0,
lastIp: null,
name: null,
givenName: null,
familyName: null,
middleName: null,
profile: null,
preferredUsername: null,
website: null,
gender: 'U',
birthdate: null,
zoneinfo: null,
address: null,
formatted: null,
streetAddress: null,
region: null,
postalCode: null,
city: null,
blocked: false
}
]
}
¶ 删除租户成员
删除租户成员
managementClient.tenant.removeMembers(tenantId, userId)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 是 | 租户 ID |
userId | string | 是 | 用户 ID |
¶ 示例
await managementClient.tenant.removeMembers('619b64fd2cfccd07a8296839','619b07ab229e3bfa98e94ee2');
¶ 返回值
- 无返回值
¶ 获取身份源列表
获取身份源列表
managementClient.tenant.listExtIdp(tenantId)
¶ 参数
参数 | 类型 | 描述 |
---|---|---|
tenantId | string | 租户 ID |
¶ 示例
const result = await managementClient.tenant.listExtIdp('619b07312d6b99e1af7d8e4e');
¶ 返回值
[{
"id": "619b33a00412723ba777eabf",
"name": "身份源名称",
"type": "lark",
"tenantId": "619b07312d6b99e1af7d8e4e",
"connections": [{
"id": "619b33a059f92af971ad4042",
"type": "lark-internal",
"identifier": "feishuljl",
"displayName": "身份源连接名称",
"logo": null,
"enabled": true
}]
}]
¶ 获取身份源详细信息
获取身份源详细信息
managementClient.tenant.extIdpDetail(extIdpId)
¶ 参数
参数 | 类型 | 描述 |
---|---|---|
extIdpId | string | 身份源 ID |
¶ 示例
const result = await managementClient.tenant.extIdpDetail('619b33a00412723ba777eabf');
¶ 返回值
{
"id": "619b33a00412723ba777eabf",
"name": "示例名称",
"type": "lark",
"connections": [{
"id": "619b33a059f92af971ad4042",
"type": "lark-internal",
"identifier": "feishuljl",
"displayName": "示例名称",
"fields": {
"clientSecret": "d1cuu12KrcItRyD6T",
"clientID": "cli_a196bf9013",
"displayName": "示例名称"
},
"logo": null,
"userMatchFields": null
}]
}
¶ 创建身份源
创建身份源
managementClient.tenant.createExtIdp(options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
tenantId | string | 否 | 租户 ID,如不填则创建个体型身份源 |
name | string | 是 | 身份源名称 |
type | string | 是 | 身份源类型,可选值如下: wechat 微信 |
connections | object array | 是 | 包含任意多个 “连接对象” 的数组,详见下方说明 |
- 连接对象:表示属于该身份源的连接,来自同一身份源的不同连接之间的身份信息可以互通
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
type | string | 是 | 连接类型,可选值如下: wechat:pc 微信 PC 端网页扫码登录 wechat:mobile 原生 APP 内部调用微信登录 wechat:webpage-authorization 微信浏览器内部网页授权登录 wechatmp-qrcode 接收微信公众号扫码、关注事件,自动创建用户 wechat:miniprogram:default 用户自主开发小程序内部登录 wechat:miniprogram:qrconnect 『Authing 小登录』扫码登录 wechat:miniprogram:app-launch 原生 APP 拉起小登录 |
identifier | string | 是 | 连接的唯一标识符 |
displayName | string | 是 | 连接在登录页的显示名称 |
fields | object | 是 | 连接的详细配置信息 |
userMatchFields | string array | 否 | 用户表自定义匹配字段(只供前端使用) |
logo | string | 否 | 连接的 logo |
¶ 示例
const result = await managementClient.tenant.createExtIdp({
tenantId: '619b07312d6b99e1af7d8e4e',
name: '飞书身份源',
type: 'lark',
connections: [{
type: 'lark-internal',
identifier: 'feishusdk',
displayName: '飞书身份源连接',
fields: {'clientSecret':'d1cuu12KrcItRyD6T','clientID':'cli_a196bf9013','displayName':'飞书身份源连接'},
userMatchFields: ['ss']
}]
});
¶ 返回值
{
id: '619c84ce946e9c1913247af1',
name: '飞书身份源',
type: 'lark',
connections: [
{
id: '619c84ce84aac1e944b05ffe',
type: 'lark-internal',
identifier: 'feishusdk1',
displayName: '飞书身份源连接',
fields: [Object],
logo: null,
userMatchFields: [Array]
}
]
}
¶ 更新身份源
更新身份源
managementClient.tenant.updateExtIdp(extIdpId, options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpId | string | 是 | 身份源 ID |
options.name | string | 是 | 身份源名称 |
¶ 示例
await managementClient.tenant.updateExtIdp('619b399e812c47c972900129',{'name':'飞书身份源'});
¶ 返回值
- 无返回值
¶ 删除身份源
在某个已有身份源下创建新连接
managementClient.tenant.deleteExtIdp(extIdpId)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpId | string | 是 | 身份源 ID |
¶ 示例
await managementClient.tenant.deleteExtIdp('619b399e812c47c972900129');
¶ 返回值
- 无返回值
¶ 创建身份源连接
创建身份源连接
managementClient.tenant.createExtIdpConnection(options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpId | string | 是 | 所属身份源 ID |
type | string | 是 | 连接类型 |
identifier | string | 是 | 连接的唯一标识符 |
displayName | string | 是 | 连接在登录页的显示名称 |
fields | object | 是 | 连接的详细配置信息 |
userMatchFields | string array | 否 | 用户表自定义匹配字段(只供前端使用) |
logo | string | 否 | 连接的 logo |
¶ 示例
test('createExtIdpConnection', async t => {
const result = await managementClient.tenant.createExtIdpConnection({
extIdpId: '619c917f534a3b8ad988a209',
type: 'wechatmp-qrcode',
identifier: 'wechatc2',
displayName: '微信身份源连接1',
fields: {'clientSecret':'d1cuu12KrcItRyD6T','clientID':'cli_a196bf9013','displayName':'飞书身份源连接1'},
userMatchFields: ['ss']
});
¶ 返回值
{
id: '619c9490d7b1cec02bf982f6',
type: 'wechatmp-qrcode',
identifier: 'wechatc2',
displayName: '飞书身份源连接1',
fields: {
clientSecret: 'd1cuu12KrcItRyD6T',
clientID: 'cli_a196bf9013',
displayName: '飞书身份源连接1'
},
logo: null,
userMatchFields: [ 'ss' ]
}
¶ 更新身份源连接
更新身份源连接
managementClient.tenant.updateExtIdpConnection(extIdpConnectionId, options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpConnectionId | string | 是 | 身份源连接 ID |
options.displayName | string | 是 | 连接在登录页的显示名称 |
options.fields | object | 是 | 连接的详细配置信息 |
options.userMatchFields | string array | 否 | 用户表自定义匹配字段(只供前端使用) |
options.logo | string | 否 | 连接的 logo |
¶ 示例
await managementClient.tenant.updateExtIdpConnection('619c9490d7b1cec02bf982f6',{
displayName: '微信身份源连接2',
fields: {'clientSecret':'d1cuu12KrcItRyD6T','clientID':'cli_a196bf9013','displayName':'飞书身份源连接1'},
userMatchFields: ['ss']
});
¶ 返回值
- 无返回值
¶ 删除身份源连接
删除身份源连接
managementClient.tenant.updateExtIdpConnection(extIdpConnectionId)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpConnectionId | string | 是 | 身份源连接 ID |
¶ 示例
managementClient.tenant.deleteExtIdpConnection('619c9490d7b1cec02bf982f6');
¶ 返回值
- 无返回值
¶ 检查连接唯一标识是否已存在
检查连接唯一标识是已存在
managementClient.tenant.checkExtIdpConnectionIdentifierUnique(identifier)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
identifier | string | 是 | 待检查的标识符 |
¶ 示例
managementClient.tenant.checkExtIdpConnectionIdentifierUnique('wechatc4');
¶ 返回值
boolean : true - 已存在 / false - 不存在
¶ 开关身份源连接
开关身份源连接
managementClient.tenant.changeExtIdpConnectionState(extIdpConnectionId, options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpConnectionId | string | 是 | 身份源连接 ID |
appId | string | 否 | 应用 ID,应用开关场景必填 |
tenantId | string | 否 | 租户 ID,租户开关场景必填 |
enabled | boolean | 是 | 是否开启 |
¶ 示例
const result = await managementClient.tenant.changeExtIdpConnectionState('619cc337075fdb26f5fdbfa2', {
tenantId: '619b64fd2cfccd07a8296839',
enabled: true
});
¶ 返回值
boolean : true - 操作成功 / false - 操作失败
¶ 批量开关身份源连接
批量开关身份源连接
managementClient.tenant.batchChangeExtIdpConnectionState(extIdpId, options)
¶ 参数
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
extIdpId | string | 是 | 身份源 ID |
appId | string | 否 | 应用 ID,应用开关场景必填 |
tenantId | string | 否 | 租户 ID,租户开关场景必填 |
enabled | boolean | 是 | 是否开启 |
¶ 示例
const result = await managementClient.tenant.batchChangeExtIdpConnectionState('619c917f534a3b8ad988a209', {
tenantId: '619b64fd2cfccd07a8296839',
enabled: true
});
¶ 返回值
boolean : true - 操作成功 / false - 操作失败
¶ 租户下创建组织机构
创建组织机构,会创建一个只有一个节点的组织机构。
OrgManagementClient().create(name, description, code, tenantId)
¶ 参数
name
<string> 组织机构名称,该名称会作为该组织机构根节点的名称。description
<string> 根节点描述code
<string> 根节点唯一标志,必须为合法的英文字符。tenantId
<string> 租户 id。
¶ 示例
const org = await managementClient.org.create(
'北京非凡科技',
'北京非凡科技有限公司',
'feifan',
'61d6899f58c07514981da4a3'
)
¶ 返回值
{
id: '61d69c0c4011cffeea9ac887',
rootNode: {
id: '61d69c0cf11e11e83d64b87b',
orgId: '61d69c0c4011cffeea9ac887',
name: '北京非凡科技',
nameI18n: null,
description: '北京非凡科技有限公司',
descriptionI18n: null,
order: null,
code: 'feifan',
root: true,
depth: null,
path: [ '61d69c0cf11e11e83d64b87b' ],
createdAt: '2022-01-06T07:36:44+00:00',
updatedAt: '2022-01-06T07:36:44+00:00',
children: []
},
nodes: [
{
id: '61d69c0cf11e11e83d64b87b',
orgId: '61d69c0c4011cffeea9ac887',
name: '北京非凡科技',
nameI18n: null,
description: '北京非凡科技有限公司',
descriptionI18n: null,
order: null,
code: 'feifan',
root: true,
depth: 0,
path: [Array],
createdAt: '2022-01-06T07:36:44+00:00',
updatedAt: '2022-01-06T07:36:44+00:00',
children: []
}
]
}
¶ 获取租户下组织机构
获取租户下组织机构
OrgManagementClient().getOrgByTenantId(tenantId)
¶ 参数
tenantId
<string> 租户 Id 。
¶ 示例
const result = await managementClient.org.getOrgByTenantId(tenantId)
¶ 返回值
[
{
id: '61d699490abab9f144f296cd',
createdAt: '2022-01-06T07:24:57.684Z',
updatedAt: '2022-01-06T07:24:57.684Z',
userPoolId: '61d53225d92b7010a565e668',
orgId: '61d6994988de6be5745ee57c',
name: 'main',
nameI18n: null,
description: null,
descriptionI18n: null,
order: null,
code: null,
leaderUserId: null,
__id: null,
__parentid: null,
__groupid: null,
members: [],
children: []
}
]
¶ 租户下组织机构的其他操作
¶ 示例:增加一个下级节点
const result = await managementClient.org.getOrgByTenantId(tenantId)
if (result){
const { id: orgId } = result[0]
const node = await managementClient.org.addNode(orgId, orgId, {
name: '运营部门',
})
}
¶ 示例返回值
{
"nodes": [{
"code": null,
"description": null,
"updatedAt": "2022-01-06T08:35:31+00:00",
"children": [],
"order": null,
"descriptionI18n": null,
"depth": 1,
"orgId": "6142c2c41c6e6c6cc3edf8",
"path": ["6142c2c4f8abf18c6c978b2c", "614c3c5372b6b3f340ab6937"],
"nameI18n": null,
"root": false,
"id": "614c3c5372b6b3f340ab6937",
"createdAt": "2022-01-06T08:35:31+00:00",
"name": "add"
}],
"rootNode": {
"code": "codes",
"description": "",
"updatedAt": "2022-01-06T10:24:03+00:00",
"children": ["614c3c5372b6b3f340ab6937", "6142c32360021c1a05081579", "6142e03436f09aa7e66c1935", "6142e0483f54818690c99600", "6142e07e163a22fd3db10e83"],
"order": null,
"descriptionI18n": null,
"depth": null,
"orgId": "6142c2c41c6e6c6cc3edfd88",
"path": ["6142c2c4f8abf18c6c978b2c"],
"nameI18n": null,
"root": true,
"id": "6142c2c4f8abf18c6c978b2c",
"createdAt": "2022-01-06T04:06:28+00:00",
"name": "xx2"
},
"id": "6142c2c41c6e6c6cc3edfd88"
}
本文是否有解决您的问题?
如果遇到其他问题,你可以在 authing-chat/community 联系我们。