1. 接口描述
接口请求域名: tcb.tencentcloudapi.com 。
添加身份认证源。在指定云开发环境下创建一个新的身份认证源,支持 OAuth 2.0、OIDC、SAML 2.0 等标准协议,以及自定义登录和邮箱登录等多种认证方式。
创建时需指定身份源协议类型(ProviderType)并配置对应的协议连接参数(Config)。若身份源 ID 已存在将返回错误。
限制:一个环境最大可允许加入20个认证源。
默认接口请求频率限制:20次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| Action | 是 | String | 公共参数,本接口取值:AddProvider。 |
| Version | 是 | String | 公共参数,本接口取值:2018-06-08。 |
| Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
| EnvId | 是 | String | 云开发环境 ID,用于唯一标识当前操作所属的云开发环境。 示例值:lowcode-123 |
| Name | 是 | LocalizedMessage | 身份源的显示名称,支持国际化多语言配置。用户在登录页面看到的身份源名称将使用该字段,建议根据实际业务场景填写易于识别的名称,例如:企业微信、GitHub 等。 |
| 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:邮箱登录 示例值:WX_WORK_INTERNAL |
| Id | 否 | String | 身份源的唯一标识符,用于在系统内区分不同的身份源。格式要求:2~32 位,仅支持小写英文字母和数字,不可包含空格或特殊字符。若不填写,系统将自动生成。例如:github、google。 示例值:github |
| Picture | 否 | String | 身份源图标的访问地址,将展示在登录页的身份源按钮上。建议使用 64×64 像素的 SVG 格式图片以保证清晰度,支持 HTTP/HTTPS 公网可访问的图片链接。 示例值:http://xxx |
| Homepage | 否 | String | 身份源对应的官方主页地址。该信息将在用户查看自己的第三方账号绑定列表时展示,帮助用户识别已绑定的身份源来源。例如 GitHub 身份源可填写:https://github.com。 示例值:https://github.com |
| Config | 否 | ProviderConfig | 身份认证源协议连接配置,包含与第三方平台对接所需的核心参数,如 ClientId、ClientSecret、授权端点、Token 端点、回调地址、Scope、SAML Metadata、请求和响应参数映射等。不同 ProviderType 对应不同的配置项要求。 |
| TransparentMode | 否 | String | 是否开启透传登录模式。可选值:TRUE(开启)、FALSE(关闭)、UNSPECIFIED(默认为 FALSE,企业微信代开发应用 WX_WORK_AGENT 类型默认为 TRUE)。开启后,平台不会持久化存储用户数据,仅将第三方身份源返回的用户信息透传给业务方,适用于不希望平台留存用户数据的场景。注意:开启透传模式时,ReuseUserId 将自动设为 TRUE,AutoSignUpWithProviderUser 将自动设为 FALSE。 示例值:"TRUE" |
| Description | 否 | LocalizedMessage | 身份源的详细描述信息,支持国际化多语言配置。可用于向用户说明该身份源的用途或使用场景,例如:谷歌授权登录。 |
| ReuseUserId | 否 | String | 是否直接复用第三方身份源的用户 ID 作为平台的用户 ID。可选值:TRUE(直接复用,适用于已有用户体系迁移场景)、FALSE(不复用,由平台生成独立用户 ID)、UNSPECIFIED(默认为 FALSE,但当 TransparentMode 为 TRUE 时自动设为 TRUE)。注意:开启后需确保第三方用户 ID 的唯一性,避免 ID 冲突。 示例值:"FALSE" |
| On | 否 | String | 身份源的启用状态。可选值:TRUE(启用,用户可通过该身份源登录)、FALSE(禁用,登录入口将被隐藏,已有绑定关系不受影响)、UNSPECIFIED(默认为 TRUE)。 示例值:"TRUE" |
| 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: AddProvider
<公共请求参数>
{
"EnvId": "env-123",
"Name": {
"Message": "谷歌"
},
"ProviderType": "OAUTH",
"Id": "google",
"Picture": "https://qcloudimg.tencent-cloud.cn/raw/f3c2d4c33223231e42135df51723a59c.svg",
"Config": {
"ClientId": "example",
"ClientSecret": "example",
"Scope": "openid profile email",
"AuthorizationEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
"TokenEndpoint": "https://oauth2.googleapis.com/token",
"UserinfoEndpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
"TokenEndpointAuthMethod": "CLIENT_SECRET_BASIC",
"RequestParametersMap": {
"RegisterUserType": "externalUser"
}
},
"TransparentMode": "FALSE",
"Description": {
"Message": "GitHub OAuth身份认证"
},
"On": "TRUE",
"AutoSignInWhenEmailMatch": "TRUE",
"AutoSignInWhenPhoneNumberMatch": "TRUE"
}
输出示例
{
"Response": {
"RequestId": "7a3a7e6b-7982-4acd-bb52-206d6e57f2b7"
}
}
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 | 操作失败。 |
| InvalidParameter | 参数错误。 |
| InvalidParameterValue | 参数取值错误。 |
| ResourceInUse | 资源被占用。 |
| ResourceNotFound | 资源不存在。 |
| UnauthorizedOperation | 未授权操作。 |