更新时间:2026-11-04 GMT+08:00
分享

更新OAuth2凭证提供商

功能介绍

更新指定的OAuth2凭证提供商。

URI

PUT /v1/oauth2-credential-providers/{credential_provider_name}

表1 路径参数

参数

是否必选

参数类型

描述

credential_provider_name

是

String

参数解释:

凭证提供商名称,用于唯一标识一个凭证提供商。

约束限制:

不涉及。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为1~56个字符。

默认取值:

不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

oauth2_provider_config_input

否

Oauth2ProviderConfigInput object

参数解释:

OAuth2提供商配置输入(UNION类型)。

约束限制:

只能指定以下一种配置:microsoft_oauth2_provider_config、google_oauth2_provider_config、github_oauth2_provider_config或custom_oauth2_provider_config。

取值范围:

不涉及。

默认取值:

不涉及。

tags

否

Array of Tag objects

参数解释:

自定义标签列表。

约束限制:

列表最多20个标签。

取值范围:

不涉及。

默认取值:

不涉及。

表3 Oauth2ProviderConfigInput

参数

是否必选

参数类型

描述

microsoft_oauth2_provider_config

否

MicrosoftOauth2ProviderConfigInput object

参数解释:

Microsoft OAuth2提供商集成的配置设置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

google_oauth2_provider_config

否

GoogleOauth2ProviderConfigInput object

参数解释:

Google OAuth2提供商集成的配置设置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

github_oauth2_provider_config

否

GithubOauth2ProviderConfigInput object

参数解释:

GitHub OAuth2提供商集成的配置设置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

custom_oauth2_provider_config

否

CustomOauth2ProviderConfigInput object

参数解释:

自定义OAuth2提供商的输入配置。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 MicrosoftOauth2ProviderConfigInput

参数

是否必选

参数类型

描述

client_id

是

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

约束限制:

不涉及。

取值范围:

长度为1~256个字符。

默认取值:

不涉及。

client_secret

是

String

参数解释:

OAuth2应用的客户端密钥(Client Secret),用于OAuth2认证流程中的应用身份验证。

约束限制:

不涉及。

取值范围:

长度为1~2048个字符。

默认取值:

不涉及。

tenant_id

是

String

参数解释:

Microsoft OAuth2提供商的租户ID(Tenant ID),用于标识Microsoft OAuth2认证的租户。

约束限制:

不涉及。

取值范围:

可取值common、organizations、consumers,或符合UUID格式的租户ID,或由英文字母、数字及"."、"_"、"-"组成,长度为1~255个字符。

默认取值:

不涉及。

表5 GoogleOauth2ProviderConfigInput

参数

是否必选

参数类型

描述

client_id

是

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

约束限制:

不涉及。

取值范围:

长度为1~256个字符。

默认取值:

不涉及。

client_secret

是

String

参数解释:

OAuth2应用的客户端密钥(Client Secret),用于OAuth2认证流程中的应用身份验证。

约束限制:

不涉及。

取值范围:

长度为1~2048个字符。

默认取值:

不涉及。

表6 GithubOauth2ProviderConfigInput

参数

是否必选

参数类型

描述

client_id

是

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

约束限制:

不涉及。

取值范围:

长度为1~256个字符。

默认取值:

不涉及。

client_secret

是

String

参数解释:

OAuth2应用的客户端密钥(Client Secret),用于OAuth2认证流程中的应用身份验证。

约束限制:

不涉及。

取值范围:

长度为1~2048个字符。

默认取值:

不涉及。

表7 CustomOauth2ProviderConfigInput

参数

是否必选

参数类型

描述

client_id

是

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

约束限制:

不涉及。

取值范围:

长度为1~256个字符。

默认取值:

不涉及。

client_secret

是

String

参数解释:

OAuth2应用的客户端密钥(Client Secret),用于OAuth2认证流程中的应用身份验证。

约束限制:

不涉及。

取值范围:

长度为1~2048个字符。

默认取值:

不涉及。

oauth2_discovery

是

Oauth2Discovery object

参数解释:

OAuth2提供商的发现信息(UNION类型)。

约束限制:

discovery_url和authorization_server_metadata二选一。

取值范围:

不涉及。

默认取值:

不涉及。

表8 Oauth2Discovery

参数

是否必选

参数类型

描述

discovery_url

否

String

参数解释:

OpenID Connect发现地址(Discovery URL),用于获取身份提供商的OIDC配置信息,包括签发者地址、JWKS端点等。

约束限制:

不涉及。

取值范围:

必须以https://开头,且以/.well-known/openid-configuration结尾,长度为1~2048个字符。

默认取值:

不涉及。

authorization_server_metadata

否

Oauth2AuthorizationServerMetadata object

参数解释:

OAuth2提供商的授权服务器元数据。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表9 Oauth2AuthorizationServerMetadata

参数

是否必选

参数类型

描述

authorization_endpoint

是

String

参数解释:

授权服务器的授权端点。

约束限制:

不涉及。

取值范围:

必须以https://开头,长度为1~2048个字符。

默认取值:

不涉及。

issuer

是

String

参数解释:

授权服务器的签发者标识。

约束限制:

不涉及。

取值范围:

必须以https://开头,长度为1~2048个字符。

默认取值:

不涉及。

token_endpoint

是

String

参数解释:

授权服务器的令牌端点。

约束限制:

不涉及。

取值范围:

必须以https://开头,长度为1~2048个字符。

默认取值:

不涉及。

response_types

否

Array of strings

参数解释:

支持的响应类型列表。

约束限制:

不涉及。

取值范围:

数组长度范围[1,20],每个元素为1~50个字符的字符串。

默认取值:

不涉及。

token_endpoint_auth_methods

否

Array of strings

参数解释:

令牌端点支持的客户端认证方法列表。

约束限制:

不涉及。

取值范围:

数组长度范围[1,2]。

默认取值:

不涉及。

表10 Tag

参数

是否必选

参数类型

描述

key

是

String

参数解释:

标签键,用于标识标签的名称。

约束限制:

首尾不能包含空格,不能以"_sys_"开头。

取值范围:

可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"符号的任意组合,长度为1~128个字符。

默认取值:

不涉及。

value

是

String

参数解释:

标签值,用于标识标签的具体内容。

约束限制:

不涉及。

取值范围:

可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"、"&"符号的任意组合,可以是空字符串,长度为0~255个字符。

默认取值:

不涉及。

响应参数

状态码:200

表11 响应Body参数

参数

参数类型

描述

credential_provider

Oauth2CredentialProvider object

参数解释:

OAuth2凭证提供商,用于配置通过OAuth2协议获取外部服务访问凭证的参数。

取值范围:

不涉及。

表12 Oauth2CredentialProvider

参数

参数类型

描述

credential_provider_id

String

参数解释:

凭证提供商的唯一标识符。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为1~64个字符。

name

String

参数解释:

凭证提供商名称,用于唯一标识一个凭证提供商。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为1~56个字符。

urn

String

参数解释:

凭证提供商的唯一资源名称(URN)。

取值范围:

只能由英文字母、数字及"/"、"="、"_"、":"、"-"组成,长度为16~1500个字符。

credential_provider_vendor

String

参数解释:

支持的OAuth2提供商类型。

取值范围:

  • MicrosoftOauth2:微软OAuth2

  • GoogleOauth2:谷歌OAuth2

  • GithubOauth2:GitHub OAuth2

  • CustomOauth2:自定义OAuth2

client_secret

Secret object

参数解释:

凭证信息,包含凭证ID和凭证名称。用于API Key授权方式下,标识存储在CSMS(凭证管理服务)中的API密钥凭证。

取值范围:

不涉及。

callback_url

String

参数解释:

OAuth2 提供方认证完成后跳转回调的 URL。

取值范围:

必须以https://开头,长度为1~2048个字符。

created_at

String

参数解释:

UTC时间戳,记录资源的创建或更新时间。

取值范围:

使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ssZ。例如:2025-01-01T00:00:00Z。

updated_at

String

参数解释:

UTC时间戳,记录资源的创建或更新时间。

取值范围:

使用UTC+0时间格式,格式为yyyy-MM-ddTHH:mm:ssZ。例如:2025-01-01T00:00:00Z。

oauth2_provider_config_output

Oauth2ProviderConfigOutput object

参数解释:

OAuth2提供商配置输出(UNION类型)。

取值范围:

不涉及。

tags

Array of Tag objects

参数解释:

自定义标签列表。

取值范围:

不涉及。

表13 Secret

参数

参数类型

描述

secret_id

String

参数解释:

凭证ID,唯一标识CSMS中的凭证。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为1~64个字符。

secret_name

String

参数解释:

凭证名称,CSMS中存储的凭证名称。

取值范围:

只能由英文字母、数字及"-"、"_"组成,长度为1~64个字符。

表14 Oauth2ProviderConfigOutput

参数

参数类型

描述

microsoft_oauth2_provider_config

MicrosoftOauth2ProviderConfigOutput object

参数解释:

Microsoft OAuth2提供商的输出配置。

取值范围:

不涉及。

google_oauth2_provider_config

GoogleOauth2ProviderConfigOutput object

参数解释:

Google OAuth2提供商的输出配置。

取值范围:

不涉及。

github_oauth2_provider_config

GithubOauth2ProviderConfigOutput object

参数解释:

GitHub OAuth2提供商的输出配置。

取值范围:

不涉及。

custom_oauth2_provider_config

CustomOauth2ProviderConfigOutput object

参数解释:

自定义OAuth2提供商的输出配置。

取值范围:

不涉及。

表15 MicrosoftOauth2ProviderConfigOutput

参数

参数类型

描述

oauth2_discovery

Oauth2Discovery object

参数解释:

OAuth2提供商的发现信息(UNION类型)。

取值范围:

不涉及。

client_id

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

取值范围:

长度为1~256个字符。

表16 GoogleOauth2ProviderConfigOutput

参数

参数类型

描述

oauth2_discovery

Oauth2Discovery object

参数解释:

OAuth2提供商的发现信息(UNION类型)。

取值范围:

不涉及。

client_id

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

取值范围:

长度为1~256个字符。

表17 GithubOauth2ProviderConfigOutput

参数

参数类型

描述

oauth2_discovery

Oauth2Discovery object

参数解释:

OAuth2提供商的发现信息(UNION类型)。

取值范围:

不涉及。

client_id

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

取值范围:

长度为1~256个字符。

表18 CustomOauth2ProviderConfigOutput

参数

参数类型

描述

oauth2_discovery

Oauth2Discovery object

参数解释:

OAuth2提供商的发现信息(UNION类型)。

取值范围:

不涉及。

client_id

String

参数解释:

OAuth2应用的客户端ID(Client ID),用于标识接入OAuth2认证流程的应用。

取值范围:

长度为1~256个字符。

表19 Oauth2Discovery

参数

参数类型

描述

discovery_url

String

参数解释:

OpenID Connect发现地址(Discovery URL),用于获取身份提供商的OIDC配置信息,包括签发者地址、JWKS端点等。

取值范围:

必须以https://开头,且以/.well-known/openid-configuration结尾,长度为1~2048个字符。

authorization_server_metadata

Oauth2AuthorizationServerMetadata object

参数解释:

OAuth2提供商的授权服务器元数据。

取值范围:

不涉及。

表20 Oauth2AuthorizationServerMetadata

参数

参数类型

描述

authorization_endpoint

String

参数解释:

授权服务器的授权端点。

取值范围:

必须以https://开头,长度为1~2048个字符。

issuer

String

参数解释:

授权服务器的签发者标识。

取值范围:

必须以https://开头,长度为1~2048个字符。

token_endpoint

String

参数解释:

授权服务器的令牌端点。

取值范围:

必须以https://开头,长度为1~2048个字符。

response_types

Array of strings

参数解释:

支持的响应类型列表。

取值范围:

数组长度范围[1,20],每个元素为1~50个字符的字符串。

token_endpoint_auth_methods

Array of strings

参数解释:

令牌端点支持的客户端认证方法列表。

取值范围:

数组长度范围[1,2]。

表21 Tag

参数

参数类型

描述

key

String

参数解释:

标签键,用于标识标签的名称。

取值范围:

可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"符号的任意组合,长度为1~128个字符。

value

String

参数解释:

标签值,用于标识标签的具体内容。

取值范围:

可以包含任意语种字母、数字、空格以及"_"、"."、":"、"/"、"="、"+"、"-"、"@"、"&"符号的任意组合,可以是空字符串,长度为0~255个字符。

状态码:400

表22 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

request_id

String

参数解释:

请求ID。

取值范围:

不涉及。

encoded_authorization_message

String

参数解释:

加密后的认证失败信息,可以通过STS5解密接口进行解密。

取值范围:

不涉及。

状态码:404

表23 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

request_id

String

参数解释:

请求ID。

取值范围:

不涉及。

encoded_authorization_message

String

参数解释:

加密后的认证失败信息,可以通过STS5解密接口进行解密。

取值范围:

不涉及。

状态码:409

表24 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

request_id

String

参数解释:

请求ID。

取值范围:

不涉及。

encoded_authorization_message

String

参数解释:

加密后的认证失败信息,可以通过STS5解密接口进行解密。

取值范围:

不涉及。

状态码:429

表25 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:

错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

错误信息。

取值范围:

不涉及。

request_id

String

参数解释:

请求ID。

取值范围:

不涉及。

encoded_authorization_message

String

参数解释:

加密后的认证失败信息,可以通过STS5解密接口进行解密。

取值范围:

不涉及。

请求示例

更新OAuth2凭证提供商的client_secret和tenant_id。

PUT https://{endpoint}/v1/oauth2-credential-providers/{credential_provider_name}

{
  "oauth2_provider_config_input" : {
    "microsoft_oauth2_provider_config" : {
      "client_id" : "285624f5-5958-4f36-b171-168303615bce",
      "client_secret" : "285624f5-5958-4f36-b171-168303615bce",
      "tenant_id" : "285624f5-5958-4f36-b171-168303615bce"
    }
  }
}

响应示例

状态码:200

{
  "credential_provider" : {
    "credential_provider_id" : "684a2c3e5f1b9d0e7a3c4f56",
    "name" : "my_microsoft_oauthprovider",
    "urn" : "agentIdentity:<region>:<account-id>:oauth2CredentialProvider:tokenVault/<token-vault-id>/<name>",
    "credential_provider_vendor" : "MicrosoftOauth2",
    "client_secret" : {
      "secret_id" : "285624f5-5958-4f36-b171-168303615bce",
      "secret_name" : "test-secret"
    },
    "callback_url" : "https://agent-identity.cn-north-4.myhuaweicloud.com/v1/oauth2/callback/9c38be75-5973-4709-a211-7e2c438c250d",
    "created_at" : "2025-01-01 00:00:00",
    "updated_at" : "2025-01-04 14:13:20",
    "tags" : [ {
      "key" : "key-1",
      "value" : "value-1"
    } ],
    "oauth2_provider_config_output" : {
      "microsoft_oauth2_provider_config" : {
        "oauth2_discovery" : {
          "discovery_url" : "https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",
          "authorization_server_metadata" : null
        },
        "client_id" : "285624f5-5958-4f36-b171-168303615bce"
      }
    }
  }
}

状态码

状态码

描述

200

请求成功。

400

请求体异常。

404

未找到相应的资源。

409

请求冲突。

429

请求过于频繁。

错误码

请参见错误码。

相关文档