修改第三方认证源

最近更新时间:2026-03-19 02:07:37

我的收藏

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。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
AuthFailure CAM签名/鉴权错误。
FailedOperation 操作失败。
InternalError 内部错误。
InvalidParameter 参数错误。
InvalidParameterValue 参数取值错误。
ResourceInUse 资源被占用。
ResourceNotFound 资源不存在。
UnauthorizedOperation 未授权操作。