Authing 文档文档
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
快速开始
概念
使用指南
开发集成 arrow
  • V2 文档
  • V3 文档
元数据
应用集成
身份自动化
加入 APN
开发集成
多租户(内测版)
控制台文档
多租户控制台
租户控制台
Saas 应用 Demo
旧版
多租户(内测版)
  • 概览
  • 快速开始
  • 创建租户
  • 自定义登录样式
  • 配置注册和登录方式
  • 管理租户成员
  • 管理租户下组织机构
  • 管理租户下权限
  • 为租户配置第三方身份源
  • 应用租户配置

  • 示例:基于 Authing 开发一个叫做 Uthing 的 SaaS 应用
  • 开发集成

    • JavaScript/Node.js
    • Go
    • Java
    • 更多语言敬请期待

¶ 管理多租户

更新时间: 2025-02-18 09:00:47
编辑

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

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

client := NewClient(userPoolId, secret)

client.GetTenantList() // 获取用户池下的租户列表
client.CreateTenant() // 创建租户
client.UpdateTenant() // 修改租户
client.RemoveTenant() // 删除租户

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

获取用户池下租户列表。

// GetTenantList
// 获取用户池下租户列表
func (c *Client) GetTenantList(request *model.CommonPageRequest) (*model.GetTenantListResponse, error)

¶ 参数

参数类型必填描述
request.Pagestring否分页参数,页数。
request.Limitstring否分页参数,每页显示个数。当参数 Limit = -1 时,将返回所有数据

¶ 示例

resp, err := client.GetTenantList(&model.CommonPageRequest{})
resp, err := client.GetTenantList(&model.CommonPageRequest{
  Page:  1,
  Limit: 10,
})

¶ 返回值

{
  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 查询租户详情

// GetTenantDetails
// 获取租户详情
func (c *Client) GetTenantDetails(tenantId string) (*model.TenantDetails, error)

¶ 参数

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

¶ 示例

resp, err := client.GetTenantDetails("61b83950c110f5a2955221df")

¶ 返回值

{
  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]
    }
  ]
}

¶ 创建租户

创建租户

// CreateTenant
// 创建租户
func (c *Client) CreateTenant(request *model.CreateTenantRequest) (*model.TenantDetails, error)

¶ 参数

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

¶ 示例

resp, err := client.CreateTenant(&model.CreateTenantRequest{
  Name:   "测试lnoi",
  AppIds: "61503af19ddff2aa185b665a",
})

¶ 返回值

{
  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]
    }
  ]
}

¶ 修改租户

修改租户

// UpdateTenant
// 修改租户
func (c *Client) UpdateTenant(tenantId string, request *model.CreateTenantRequest) (*bool, error)

¶ 参数

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

¶ 示例

resp, err := client.UpdateTenant("61b95412098eb8dd16d5a7f4", &model.CreateTenantRequest{
  Name: "测试修改",
})

¶ 返回值

bool : true / false

¶ 删除租户

删除租户

// RemoveTenant
// 删除租户
func (c *Client) RemoveTenant(tenantId string) (*string, error)

¶ 参数

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

¶ 示例

resp, err := client.RemoveTenant("61b95412098eb8dd16d5a7f4")

¶ 返回值

{
    "message": "删除租户成功"
}

¶ 配置租户品牌化

配置租户品牌化

// ConfigTenant
// 配置租户品牌化
func (c *Client) ConfigTenant(tenantId string, request *model.ConfigTenantRequest) (*string, error)

¶ 参数

参数类型必填描述
tenantIdstring是租户 ID
request.CSSstring否自定义 CSS
request.SsoPageCustomizationSettingsTenantSsoPageCustomizationSettings否SsoPageCustomizationSettings 对象的内容包含以下参数
SsoPageCustomizationSettings.AutoRegisterThenLoginbool否将注册和登录合并
SsoPageCustomizationSettings.HideForgetPasswordbool否隐藏忘记密码按钮
SsoPageCustomizationSettings.HideIdpbool否隐藏企业身份源登录
SsoPageCustomizationSettings.HideSocialLoginbool否隐藏社会化登录按钮

¶ 示例

resp, err := client.ConfigTenant("61b83950c110f5a2955221df", &model.ConfigTenantRequest{
  CSS: ".btnId {\n text-color: #ffff}",
  SsoPageCustomizationSettings: &model.TenantSsoPageCustomizationSettings{
    AutoRegisterThenLogin: false,
  },
})

¶ 返回值

bool : true / false

¶ 获取租户成员列表

获取租户成员列表

// GetTenantMembers
// 获取租户成员列表
func (c *Client) GetTenantMembers(tenantId string, request *model.CommonPageRequest) (*model.TenantMembersResponse, error)

¶ 参数

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

¶ 示例

resp, err := client.GetTenantMembers("61b83950c110f5a2955221df", &model.CommonPageRequest{})
resp, err := client.GetTenantMembers("61b83950c110f5a2955221df", &model.CommonPageRequest{
  Page:  1,
  Limit: 10,
})

¶ 返回值

  • list 成员列表
  • totalCount 总条数

¶ 示例数据

{
	"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
}

¶ 添加租户成员

添加租户成员,仅支持现用户池内存在的用户。

// AddTenantMembers
// 添加租户成员
func (c *Client) AddTenantMembers(tenantId string, userIds []string) (*model.AddTenantMembersResponse, error)

¶ 参数

参数类型必填描述
tenantIdstring是租户标识符 ID
userIds[]string是用户 ID

¶ 示例

resp, err := client.AddTenantMembers("61b83950c110f5a2955221df", []string{"61b85b9da80ac34ac3a9451d", "61b85b945468e9865acae737"})

¶ 返回值

{
  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
    }
  ]
}

¶ 删除租户成员

删除租户成员

// RemoveTenantMembers
// 删除租户成员
func (c *Client) RemoveTenantMembers(tenantId string, userId string) (*string, error)

¶ 参数

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

¶ 示例

resp, err := client.RemoveTenantMembers("61b83950c110f5a2955221df", "61b85b9da80ac34ac3a9451d")

¶ 返回值

{
  "message": "删除租户成员成功"
}

¶ 获取身份源列表

获取身份源列表

// ListExtIdp
// 获取身份源列表
func (c *Client) ListExtIdp(tenantId string) (*[]model.ListExtIdpResponse, error)

¶ 参数

参数类型描述
tenantIdstring租户 ID

¶ 示例

resp, err := client.ListExtIdp("61b83950c110f5a2955221df")

¶ 返回值

[{
	"id": "619b33a00412723ba777eabf",
	"name": "身份源名称",
	"type": "lark",
	"tenantId": "619b07312d6b99e1af7d8e4e",
	"connections": [{
		"id": "619b33a059f92af971ad4042",
		"type": "lark-internal",
		"identifier": "feishuljl",
		"displayName": "身份源连接名称",
		"logo": null,
		"enabled": true
	}]
}]

¶ 获取身份源详细信息

获取身份源详细信息

// ExtIdpDetail
// 获取身份源详细信息
func (c *Client) ExtIdpDetail(extIdpId string) (*model.ExtIdpDetailResponse, error) 

¶ 参数

参数类型描述
extIdpIdstring身份源 ID

¶ 示例

resp, err := client.ExtIdpDetail("61b868aea25030db174529f1")

¶ 返回值

{
	"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
	}]
}

¶ 创建身份源

创建身份源

// CreateExtIdp
// 创建身份源
func (c *Client) CreateExtIdp(request *model.CreateExtIdpRequest) (*model.ExtIdpDetailResponse, error)

¶ 参数

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

¶ 示例

fields := map[string]string{
  "displayName":  "飞书身份源连接",
  "clientID":     "everwew",
  "clientSecret": "everwew",
}

resp, err := client.CreateExtIdp(&model.CreateExtIdpRequest{
Name:     "飞书身份源",
Type:     "lark",
TenantUd: "61b83950c110f5a2955221df",
Connections: []model.ExtIdpConnection{{
  	Identifier:  "nboenboei",
  	Type:        "lark-internal",
  	DisplayName: "飞书身份源连接",
  	Fields:      fields,
  }},
})

¶ 返回值

{
  id: '619c84ce946e9c1913247af1',
  name: '飞书身份源',
  type: 'lark',
  connections: [
    {
      id: '619c84ce84aac1e944b05ffe',
      type: 'lark-internal',
      identifier: 'feishusdk1',
      displayName: '飞书身份源连接',
      fields: [Object],
      logo: null,
      userMatchFields: [Array]
    }
  ]
}

¶ 更新身份源

更新身份源

// UpdateExtIdp
// 更新身份源
func (c *Client) UpdateExtIdp(extIdpId string, request *model.UpdateExtIdpRequest) (*string, error)

¶ 参数

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

¶ 示例

resp, err := client.UpdateExtIdp("61b958a18a3f153bf3674e5b", &model.UpdateExtIdpRequest{
  Name: "cscwecw",
})

¶ 返回值

{
  "message": "更新成功"
}

¶ 删除身份源

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

// DeleteExtIdp
// 删除身份源
func (c *Client) DeleteExtIdp(extIdpId string) (*string, error) 

¶ 参数

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

¶ 示例

resp, err := client.DeleteExtIdp("61b958a18a3f153bf3674e5b")

¶ 返回值

{
  "message": "删除成功"
}

¶ 创建身份源连接

创建身份源连接

// CreateExtIdpConnection
// 创建身份源连接
func (c *Client) CreateExtIdpConnection(request *model.CreateExtIdpConnectionRequest) (*model.ExtIdpConnectionDetails, error)

¶ 参数

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

¶ 示例

fields := map[string]string{
  "displayName":  "飞书身份源连接1",
  "clientID":     "cli_a196bf9013",
  "clientSecret": "d1cuu12KrcItRyD6T",
}

resp, err := client.CreateExtIdpConnection(&model.CreateExtIdpConnectionRequest{
  ExtIdpId:    "61b955fd8f70040602f8ebe4",
  Identifier:  "wechatc2",
  Type:        "wechatmp-qrcode",
  DisplayName: "飞书身份源连接1",
  Fields:      fields,
})

¶ 返回值

{
  id: '619c9490d7b1cec02bf982f6',
  type: 'wechatmp-qrcode',
  identifier: 'wechatc2',
  displayName: '飞书身份源连接1',
  fields: {
    clientSecret: 'd1cuu12KrcItRyD6T',
    clientID: 'cli_a196bf9013',
    displayName: '飞书身份源连接1'
  },
  logo: null,
  userMatchFields: [ 'ss' ]
}

¶ 更新身份源连接

更新身份源连接

// UpdateExtIdpConnection
// 更新身份源连接
func (c *Client) UpdateExtIdpConnection(extIdpConnectionId string, request *model.UpdateExtIdpConnectionRequest) (*string, error)

¶ 参数

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

¶ 示例

fields := map[string]string{
  "displayName":  "测试连接修改2",
  "clientID":     "123456",
  "clientSecret": "123456",
}

resp, err := client.UpdateExtIdpConnection("61b9602bac8e32162db6d9d5", &model.UpdateExtIdpConnectionRequest{
  DisplayName: "测试连接修改2",
  Fields:      fields,
})

¶ 返回值

{
  "message": "更新成功"
}

¶ 删除身份源连接

删除身份源连接

// DeleteExtIdpConnection
// 删除身份源连接
func (c *Client) DeleteExtIdpConnection(extIdpConnectionId string) (*string, error)

¶ 参数

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

¶ 示例

resp, err := client.DeleteExtIdpConnection("61b9602bac8e32162db6d9d5")

¶ 返回值

{
  "message": "删除成功"
}

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

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

// CheckExtIdpConnectionIdentifierUnique
// 检查连接唯一标识是否冲突
func (c *Client) CheckExtIdpConnectionIdentifierUnique(identifier string) (bool, error)

¶ 参数

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

¶ 示例

resp, err := client.CheckExtIdpConnectionIdentifierUnique("emoo")

¶ 返回值

bool : true - 已存在 / false - 不存在

¶ 开关身份源连接

开关身份源连接

// ChangeExtIdpConnectionState
// 开关身份源连接
func (c *Client) ChangeExtIdpConnectionState(extIdpConnectionId string, request *model.ChangeExtIdpConnectionStateRequest) (*string, error)

¶ 参数

参数类型必填描述
extIdpConnectionIdstring是身份源连接 ID
request.AppIDstring否应用 ID,应用开关场景必填
request.TenantIDstring否租户 ID,租户开关场景必填
request.Enabledbool是是否开启

¶ 示例

resp, err := client.ChangeExtIdpConnectionState("61b868ae560f5e2ef2bd9e91", &model.ChangeExtIdpConnectionStateRequest{
  Enabled:  true,
  TenantID: "61b83950c110f5a2955221df",
})

¶ 返回值

bool : true - 操作成功 / false - 操作失败

¶ 批量开关身份源连接

批量开关身份源连接

// BatchChangeExtIdpConnectionState
// 批量开关身份源连接
func (c *Client) BatchChangeExtIdpConnectionState(extIdpId string, request *model.ChangeExtIdpConnectionStateRequest) (*string, error)

¶ 参数

参数类型必填描述
extIdpIdstring是身份源 ID
request.AppIDstring否应用 ID,应用开关场景必填
request.TenantIDstring否租户 ID,租户开关场景必填
request.Enabledbool是是否开启

¶ 示例

resp, err := client.BatchChangeExtIdpConnectionState("61b98798fab83706ed7f853f", &model.ChangeExtIdpConnectionStateRequest{
  Enabled:  false,
  TenantID: "61b83950c110f5a2955221df",
})

¶ 返回值

bool : true - 操作成功 / false - 操作失败
上一篇: JavaScript/Node.js 下一篇: Java
  • 获取用户池下的租户列表
  • 根据 ID 查询租户详情
  • 创建租户
  • 修改租户
  • 删除租户
  • 配置租户品牌化
  • 获取租户成员列表
  • 添加租户成员
  • 删除租户成员
  • 获取身份源列表
  • 获取身份源详细信息
  • 创建身份源
  • 更新身份源
  • 删除身份源
  • 创建身份源连接
  • 更新身份源连接
  • 删除身份源连接
  • 检查连接唯一标识是否已存在
  • 开关身份源连接
  • 批量开关身份源连接

用户身份管理

集成第三方登录
手机号闪验 (opens new window)
通用登录表单组件
自定义认证流程

企业内部管理

单点登录
多因素认证
权限管理

开发者

开发文档
框架集成
博客 (opens new window)
GitHub (opens new window)
社区用户中心 (opens new window)

公司

400 888 2106
sales@authing.cn
北京市朝阳区北辰世纪中心 B 座 16 层(总)
成都市高新区天府五街 200 号 1 号楼 B 区 4 楼 406 室(分)

京ICP备19051205号

beian京公网安备 11010802035968号

© 北京蒸汽记忆科技有限公司