GenAuth DocsDocuments
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Concepts
User Guide
Development Integration
AgentAuth
Metadata
Development Integration
Multi-tenant (beta)
Console Documentation
Multi-tenant Console
Tenant Console
Saas Application Demo
Old version
  • Single Page Web Application

  • Mobile and Client Applications

    • Android

    • C#

      • User Authentication Module

      • Management Module

        • 管理用户
        • 管理应用
        • 管理角色
        • 管理资源与权限
        • 管理分组
        • 管理组织机构
        • 管理用户自定义字段
        • 管理注册白名单
        • 管理用户池配置
        • 管理日志统计信息
        • 管理多租户
    • Flutter

    • iOS

    • React Native
  • Standard Web Application

  • Framework Integration

  • Others

  1. Development Integration
  2. /
  3. Mobile and Client Applications
  4. /
  5. C#
  6. /
  7. Management Module
  8. /
  9. 管理多租户

¶ 管理多租户

Update time: 2025-07-23 07:34:21
Edit

此模块可以进行租户管理和身份源连接管理等操作。

请使用以下方式使用该模块:

managementClient.tenant.List // 获取用户池下的租户列表
managementClient.tenant.Details // 获取租户详情
managementClient.tenant.Create // 创建租户
managementClient.tenant.Update // 修改租户
managementClient.tenant.Delete // 删除租户
managementClient.tenant.Config // 配置租户品牌化
managementClient.tenant.Members //获取租户成员列表
managementClient.tenant.AddMembers // 添加租户成员
managementClient.tenant.RemoveMembers //移除租户成员
managementClient.tenant.ListExtIdp //  获取身份源列表
managementClient.tenant.ExtIdpDetail //获取身份源详细信息
managementClient.tenant.CreateExtIdp //  创建身份源
managementClient.tenant.UpdateExtIdp //更新身份源配置
managementClient.tenant.DeleteExtIdp // 删除身份源
managementClient.tenant.UpdateExtIdpConnection //更新身份源连接
managementClient.tenant.DeleteExtIdpConnection // 删除身份源连接
managementClient.tenant.CheckExtIdpConnectionIdentifierUnique //检查连接唯一标识是否冲突
managementClient.tenant.ChangeExtIdpConnectionState // 开关身份源连接
managementClient.tenant.BatchChangeExtIdpConnectionState // 批量开关身份源连接

¶ 获取用户池下的租户列表

获取用户池下租户列表。

managementClient.tenant.list( int page = 1,int limit = 10)

¶ 参数

参数类型必填描述
pageint否分页参数,页数。
limitint否分页参数,每页显示个数。当参数 limit = -1 时,将返回所有数据

¶ 示例

var tenants = await managementClient.tenant.List();
var tenants = await managementClient.tenant.List(1, 10);

¶ 根据 ID 查询租户详情

根据 ID 查询租户详情

managementClient.tenant.Details(string tenantId)

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID

¶ 示例

var tenant = await managementClient.tenant.Details("租户 ID");

¶ 创建租户

创建租户

managementClient.tenant.Create(CreateTenantOption option)

¶ 参数

参数类型必填描述
options.Namestring是租户名称
options.AppIdsstring是应用 ID,支持关联多个应用,使用英文逗号分隔
options.Logostring否头像资源地址,通过图片上传接口中的 url 值
options.Descriptionstring否租户描述

¶ 示例

var option = new CreateTenantOption(){
  Name = "搜索",
  AppIds = "619b64e4ccc0467dcba00920"
};
var tenant = await managementClient.tenant.Create(option);

¶ 修改租户

修改租户

managementClient.tenant.Update(string tenantId, CreateTenantOption option);

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID
options.Namestring否租户名称
options.AppIdsstring否应用 ID,支持关联多个应用,使用英文逗号分隔
options.Logostring否logo 图标地址,图片上传接口中的 url 值
options.Descriptionstring否租户描述

¶ 示例

var option = new CreateTenantOption(){
  Name = "张三"
};
var tenant = await managementClient.tenant.Update("6194aeee9ccea057e89738f0",option);

¶ 删除租户

删除租户

managementClient.tenant.Delete(string tenantId)

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID

¶ 示例

var tenant = await managementClient.tenant.Delete("6194c58fa1a910549fc62aa5");

¶ 配置租户品牌化

配置租户品牌化

managementClient.tenant.Config(string tenantId, ConfigTenantOption option)

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID
options.Cssstring否自定义 CSS
options.SsoPageCustomizationSettingsobject否SsoPageCustomizationSettings 对象的内容包含以下参数
SsoPageCustomizationSettings.AutoRegisterThenLoginboolean否将注册和登录合并
SsoPageCustomizationSettings.HideForgetPasswordboolean否隐藏忘记密码按钮
SsoPageCustomizationSettings.HideIdpboolean否隐藏企业身份源登录
SsoPageCustomizationSettings.HideSocialLoginboolean否隐藏社会化登录按钮

¶ 示例

var tenant = await managementClient.tenant.Config("6194aeee9ccea057e89738f0");

¶ 获取租户成员列表

获取租户成员列表

managementClient.tenant.Members(string tenantId, TenantMembersOption option);

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID
options.Pageint否分页参数,页数。
options.Limitint否分页参数,每页显示个数。当参数 limit = -1 时,将返回所有数据

¶ 示例

var tenant = await managementClient.tenant.Members("6194aeee9ccea057e89738f0");
var option = new TenantMembersOption(){
  Page = 1,
  limit = 10,
};
var tenant = await managementClient.tenant.Members("6194aeee9ccea057e89738f0",option);

¶ 添加租户成员

添加租户成员

managementClient.tenant.AddMembers(string tenantId, string[] userIds);

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID
userIdsstring[]否用户 ID 表

¶ 示例

var tenant = await managementClient.tenant.AddMembers("6194aeee9ccea057e89738f0");
var userIds = new List<string>(){
  "userId1",
  "userId2"
};
var tenant = await managementClient.tenant.AddMembers("6194aeee9ccea057e89738f0",userIds);

¶ 删除租户成员

删除租户成员

managementClient.tenant.RemoveMembers(string tenantId, string userId)

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID
userIdstring是用户 ID

¶ 示例

await managementClient.tenant.RemoveMembers("619b64fd2cfccd07a8296839","619b07ab229e3bfa98e94ee2");

¶ 获取身份源列表

获取身份源列表

managementClient.tenant.ListExtIdp(string tenantId)

¶ 参数

参数类型描述
tenantIdstring租户 ID

¶ 示例

var result = await managementClient.tenant.ListExtIdp("619b07312d6b99e1af7d8e4e");

¶ 获取身份源详细信息

获取身份源详细信息

managementClient.tenant.ExtIdpDetail(string extIdpId)

¶ 参数

参数类型描述
extIdpIdstring身份源 ID

¶ 示例

var result = await managementClient.tenant.ExtIdpDetail("619b33a00412723ba777eabf");

¶ 创建身份源

创建身份源

managementClient.tenant.CreateExtIdp(CreateExtIdpOption option)

¶ 参数

参数类型必填描述
option.TenantIdstring否租户 ID,如不填则创建个体型身份源
option.Namestring是身份源名称
option.Typestring是身份源类型,可选值如下:
wechat 微信
option.ConnectionsExtIdpConnDetailInput[]是包含任意多个 “连接对象” 的数组,详见下方说明
  • 连接对象:表示属于该身份源的连接,来自同一身份源的不同连接之间的身份信息可以互通
参数类型必填描述
Connections.Typestring是连接类型,可选值如下:
wechat:pc 微信 PC 端网页扫码登录
wechat:mobile 原生 APP 内部调用微信登录
wechat:webpage-authorization 微信浏览器内部网页授权登录
wechatmp-qrcode 接收微信公众号扫码、关注事件,自动创建用户
wechat:miniprogram:default 用户自主开发小程序内部登录
wechat:miniprogram:qrconnect 『GenAuth 小登录』扫码登录
wechat:miniprogram:app-launch 原生 APP 拉起小登录
Connections.Identifierstring是连接的唯一标识符
Connections.DisplayNamestring是连接在登录页的显示名称
Connections.Fieldsobject是连接的详细配置信息
Connections.UserMatchFieldsstring[]否用户表自定义匹配字段(只供前端使用)
Connections.Logostring否连接的 logo

¶ 示例

var option = new CreateExtIdpOption(){
      TenantId = "619b07312d6b99e1af7d8e4e",
      Name = "飞书身份源",
      type = "lark",
      Connections = new List<ExtIdpConnDetailInput>(){
      Type: "lark-internal",
      Identifier = "feishusdk",
      DisplayName: = "飞书身份源连接",
      Fields = new Dictionary<string, object>() {
          { "clientSecret", "d1cuu12KrcItRyD6T" },
          { "clientID", "d1cuu12KrcItRyD6T"  },
          {"displayName","飞书身份源连接1" },
      },
      UserMatchFields = new List<string>(){"ss"}
     }
};
var result = await managementClient.tenant.createExtIdp(option);

¶ 更新身份源

更新身份源

managementClient.tenant.UpdateExtIdp(string extIdpId, UpdateExtIdpOption option);

¶ 参数

参数类型必填描述
extIdpIdstring是身份源 ID
options.Namestring是身份源名称

¶ 示例

var option = new UpdateExtIdpOption(){
  Name = "飞书身份源"
}
var result =  await managementClient.tenant.UpdateExtIdp("619b399e812c47c972900129",option);

¶ 删除身份源

在某个已有身份源下创建新连接

managementClient.tenant.DeleteExtIdp(string extIdpId)

¶ 参数

参数类型必填描述
extIdpIdstring是身份源 ID

¶ 示例

var result =  await managementClient.tenant.DeleteExtIdp("619b399e812c47c972900129");

¶ 创建身份源连接

创建身份源连接

managementClient.tenant.CreateExtIdpConnection(CreateExtIdpConnectionOption option)

¶ 参数

参数类型必填描述
option.ExtIdpIdstring是所属身份源 ID
option.Typestring是连接类型
option.Identifierstring是连接的唯一标识符
option.DisplayNamestring是连接在登录页的显示名称
option.Fieldsobject是连接的详细配置信息
option.UserMatchFieldsstring array否用户表自定义匹配字段(只供前端使用)
option.Logostring否连接的 logo

¶ 示例

var option1 = new CreateExtIdpConnectionOption()
    {
        ExtIdpId = "619c917f534a3b8ad988a209",
        Type = "wechatmp-qrcode",
        Identifier = "wechatc2",
        DisplayName = "微信身份源连接1",
        Fields = new Dictionary<string, object>() {
            { "clientSecret", "d1cuu12KrcItRyD6T" },
            { "clientID", "d1cuu12KrcItRyD6T"  },
            {"displayName","飞书身份源连接1" },
        },
        UserMatchFields = new List<string>(){"ss"}
    };
var result = await managementClient.tenant.CreateExtIdpConnection(option)

¶ 更新身份源连接

更新身份源连接

managementClient.tenant.UpdateExtIdpConnection(string extIdpConnectionId, UpdateExtIdpConnectionOption option)

¶ 参数

参数类型必填描述
extIdpConnectionIdstring是身份源连接 ID
options.DisplayNamestring是连接在登录页的显示名称
options.Fieldsobject是连接的详细配置信息
options.UserMatchFieldsstring array否用户表自定义匹配字段(只供前端使用)
options.Logostring否连接的 logo

¶ 示例

var option = new UpdateExtIdpConnectionOption(){
      DisplayName = "微信身份源连接2",
      Fields = new Dictionary<string, object>() {
            { "clientSecret", "d1cuu12KrcItRyD6T" },
            { "clientID", "d1cuu12KrcItRyD6T"  },
            {"displayName","飞书身份源连接1" },
        },
      UserMatchFields = new List<string>(){"ss"}
    };
var result =  await managementClient.tenant.UpdateExtIdpConnection("619c9490d7b1cec02bf982f6",option);

¶ 删除身份源连接

删除身份源连接

managementClient.tenant.DeleteExtIdpConnection(string extIdpConnectionId)

¶ 参数

参数类型必填描述
extIdpConnectionIdstring是身份源连接 ID

¶ 示例

var result = await managementClient.tenant.DeleteExtIdpConnection("619c9490d7b1cec02bf982f6");

¶ 检查连接唯一标识是否已存在

检查连接唯一标识是已存在

managementClient.tenant.CheckExtIdpConnectionIdentifierUnique(string identifier)

¶ 参数

参数类型必填描述
identifierstring是待检查的标识符

¶ 示例

var result = await managementClient.tenant.CheckExtIdpConnectionIdentifierUnique("wechatc4");

¶ 开关身份源连接

开关身份源连接

managementClient.tenant.ChangeExtIdpConnectionState(string extIdpConnectionId, ChangeExtIdpConnectionStateOption option)

¶ 参数

参数类型必填描述
extIdpConnectionIdstring是身份源连接 ID
option.AppIdstring否应用 ID,应用开关场景必填
option.TenantIdstring否租户 ID,租户开关场景必填
option.Enabledboolean是是否开启

¶ 示例

var option =  new ChangeExtIdpConnectionStateOption(){
    TenantId = "619b64fd2cfccd07a8296839",
    Enabled = true
};
var result = await managementClient.tenant.ChangeExtIdpConnectionState("619cc337075fdb26f5fdbfa2", option);

¶ 批量开关身份源连接

批量开关身份源连接

managementClient.tenant.BatchChangeExtIdpConnectionState(string extIdpId, ChangeExtIdpConnectionStateOption option)

¶ 参数

参数类型必填描述
extIdpIdstring是身份源 ID
option.AppIdstring否应用 ID,应用开关场景必填
option.TenantIdstring否租户 ID,租户开关场景必填
option.Enabledboolean是是否开启

¶ 示例

var option = new ChangeExtIdpConnectionStateOption()
  {
    TenantId: "619b64fd2cfccd07a8296839",
    Enabled: true
  };
var result = await managementClient.tenant.BatchChangeExtIdpConnectionState("619c917f534a3b8ad988a209", option);
Previous article: 管理日志统计信息 Next article: Flutter
  • 获取用户池下的租户列表
  • 根据 ID 查询租户详情
  • 创建租户
  • 修改租户
  • 删除租户
  • 配置租户品牌化
  • 获取租户成员列表
  • 添加租户成员
  • 删除租户成员
  • 获取身份源列表
  • 获取身份源详细信息
  • 创建身份源
  • 更新身份源
  • 删除身份源
  • 创建身份源连接
  • 更新身份源连接
  • 删除身份源连接
  • 检查连接唯一标识是否已存在
  • 开关身份源连接
  • 批量开关身份源连接

User identity management

Integrated third-party login
Customized authentication process

Enterprise internal management

Single sign-on
Multi-factor authentication
Permission management

Developer

Development Documentation
GitHub (opens new window)

Company

official@genauth.ai
16th Floor, Building B, Beichen Century Center, Chaoyang District, Beijing (Total)
Room 406, 4th Floor, Block B, No. 200, Tianfu Fifth Street, High-tech Zone, Chengdu (Branch)

© Beijing Steamory Technology Co., Ltd.