1. 接口描述
接口请求域名: tcb.tencentcloudapi.com 。
修改身份认证源。更新指定云开发环境下已有身份认证源的配置信息,支持修改基本信息(名称、图标、描述)、协议连接配置(ClientId、ClientSecret、端点地址等)、登录行为控制(透传模式、自动注册、邮箱/手机号自动关联)以及启用状态。
对于 OIDC 类型身份源,修改 Issuer 后将自动通过 OpenID Connect Discovery 重新获取端点配置。
若自定义登录(CUSTOM)或邮箱登录(EMAIL)身份源尚不存在,调用该接口时将自动创建。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| Action | 是 | String | 公共参数,本接口取值:ModifyProvider。 |
| Version | 是 | String | 公共参数,本接口取值:2018-06-08。 |
| Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
| EnvId | 是 | String | 云开发环境 ID,用于唯一标识当前操作所属的云开发环境。 示例值:github |
| Id | 是 | String | 身份源的唯一标识符,用于指定需要修改的目标身份源。格式要求:2~32 位,仅支持小写英文字母和数字,不可包含空格或特殊字符。例如:github、google。 示例值:github |
| Name | 否 | LocalizedMessage | 身份源的显示名称,支持国际化多语言配置。用户在登录页面看到的身份源名称将使用该字段,建议根据实际业务场景填写易于识别的名称,例如:GitHub、Google 等。 |
| Picture | 否 | String | 身份源图标的访问地址,将展示在登录页的身份源按钮上。建议使用 64×64 像素的 SVG 格式图片以保证清晰度,支持 HTTP/HTTPS 公网可访问的图片链接。 示例值:https://example.com/github.svg |
| Homepage | 否 | String | 身份源对应的官方主页地址。该信息将在用户查看自己的第三方账号绑定列表时展示,帮助用户识别已绑定的身份源来源。例如 GitHub 身份源可填写:https://github.com。 示例值:https://github.com |
| ProviderType | 否 | String | 身份源协议类型,决定该身份源使用何种认证协议与第三方平台对接。可选值: OAUTH:标准 OAuth 2.0 协议 OIDC:OpenID Connect 协议 SAML:SAML 2.0 协议 WX_MICRO_APP:微信小程序登录 WX_QRCODE_MICRO_APP:微信小程序扫码登录 WX_CLOUDBASE_MICRO_APP:云开发托管小程序登录 WX_MP:微信公众号网页授权登录 WX_OPEN:微信开放平台扫码登录 WX_WORK_INTERNAL:企业微信自建应用登录 WX_WORK_AGENT:企业微信代开发应用登录 WX_WORK_THIRD_PARTY:企业微信第三方应用登录 WX_WORK_THIRD_PARTY_ASSOCIATION:企业微信第三方应用关联登录 CUSTOM:自定义登录 EMAIL:邮箱登录 示例值:OAUTH |
| Config | 否 | ProviderConfig | 身份认证源协议连接配置,包含与第三方平台对接所需的核心参数,如 ClientId、ClientSecret、授权端点、Token 端点、回调地址、Scope、SAML Metadata、请求和响应参数映射等。不同 ProviderType 对应不同的配置项要求。注意:CUSTOM 和 EMAIL 类型的身份源,其存储后端类型(StorageDb)不可修改。 |
| TransparentMode | 否 | String | 是否开启透传登录模式。可选值:TRUE(开启)、FALSE(关闭,默认值)。开启后,平台不会持久化存储用户数据,仅将第三方身份源返回的用户信息透传给业务方,适用于不希望平台留存用户数据的场景。注意:开启透传模式时,ReuseUserId 将被强制设为 TRUE,AutoSignUpWithProviderUser 将被强制设为 FALSE。 示例值:"FALSE" |
| On | 否 | String | 身份源的启用状态。可选值:TRUE(启用,用户可通过该身份源登录)、FALSE(禁用,登录入口将被隐藏,已有绑定关系不受影响)、UNSPECIFIED(默认为 TRUE)。 示例值:"TRUE" |
| Description | 否 | LocalizedMessage | 身份源的详细描述信息,支持国际化多语言配置。可用于向用户说明该身份源的用途或使用场景,例如:谷歌授权登录。 |
| ReuseUserId | 否 | String | 是否直接复用第三方身份源的用户 ID 作为平台用户 ID。可选值:TRUE(开启,返回的用户 ID 将直接使用第三方身份源的用户 ID,适用于已有用户体系迁移场景)、FALSE(关闭,由平台生成独立用户 ID)、UNSPECIFIED(默认为 FALSE,但当 TransparentMode 为 TRUE 时将被强制设为 TRUE)。注意:开启后需确保第三方用户 ID 的全局唯一性,避免 ID 冲突。 示例值:"FALSE" |
| EmailConfig | 否 | EmailProviderConfig | 邮箱身份源的专项配置,包含邮件服务商、发件人地址、SMTP 配置等参数,用于支持通过邮箱验证码或邮箱密码方式进行身份认证。仅当身份源 ID 为 email 时有效。若该身份源不存在,系统将自动创建一个默认关闭的邮箱身份源。 |
| AutoSignInWhenEmailMatch | 否 | String | 是否开启邮箱自动关联登录。可选值:TRUE(开启)、FALSE(关闭)、UNSPECIFIED(默认为 FALSE)。开启后,若第三方身份源返回的邮箱与系统中已有用户的邮箱一致,则自动将该第三方账号与已有用户关联并完成登录,无需用户手动绑定。 示例值:"TRUE" |
| AutoSignInWhenPhoneNumberMatch | 否 | String | 是否开启手机号自动关联登录。可选值:TRUE(开启)、FALSE(关闭)、UNSPECIFIED(默认行为等同 TRUE)。开启后,若第三方身份源返回的手机号与系统中已有用户的手机号一致,则自动将该第三方账号与已有用户关联并完成登录,无需用户手动绑定。注意:该字段默认行为(UNSPECIFIED)与 AutoSignInWhenEmailMatch 不同,手机号匹配在未显式关闭时默认生效。 示例值:"TRUE" |
3. 输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 修改谷歌认证源
修改谷歌认证源
输入示例
POST / HTTP/1.1
Host: tcb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ModifyProvider
<公共请求参数>
{
"EnvId": "lowcode-xxx",
"Id": "google",
"Name": {
"Message": "Google",
"Localized": [
{
"Locale": "zh",
"Message": "谷歌"
}
]
},
"ProviderType": "OIDC",
"Picture": "https://example.com/google.svg",
"Homepage": "https://google.com",
"Config": {
"Issuer": "http://accounts.google.com",
"ResponseType": "id_token"
}
}
输出示例
{
"Response": {
"RequestId": "74402479-adf8-47aa-9479-0dd0e922d024"
}
}
示例2 修改邮箱认证源
输入示例
POST / HTTP/1.1
Host: tcb.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ModifyProvider
<公共请求参数>
{
"EnvId": "tcb-env-01",
"Id": "email",
"EmailConfig": {
"On": "FALSE",
"SmtpConfig": {
"SenderAddress": "123@qq.com",
"ServerHost": "smtp.qq.com",
"ServerPort": 465,
"AccountUsername": "123@qq.com",
"AccountPassword": "xyzvyu",
"SecurityMode": "SSL"
}
}
}
输出示例
{
"Response": {
"RequestId": "74402479-adf8-47aa-9479-0dd0e922d024"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Java: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for PHP: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Go: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Node.js: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for .NET: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for C++: CNB, GitHub, Gitee
- Tencent Cloud SDK 3.0 for Ruby: CNB, GitHub, Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
| 错误码 | 描述 |
|---|---|
| AuthFailure | CAM签名/鉴权错误。 |
| FailedOperation | 操作失败。 |
| InternalError | 内部错误。 |
| InvalidParameter | 参数错误。 |
| InvalidParameterValue | 参数取值错误。 |
| ResourceInUse | 资源被占用。 |
| ResourceNotFound | 资源不存在。 |
| UnauthorizedOperation | 未授权操作。 |