修改OpenID Connect身份提供商配置
功能介绍
该接口可以用于管理员修改OpenID Connect身份提供商配置。
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
调试
您可以在API Explorer中调试该接口。
URI
PUT /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        idp_id  | 
      
        是  | 
      
        String  | 
      
        身份提供商ID。 最小长度:1。最大长度:64。  | 
     
请求参数
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        Content-Type  | 
      
        是  | 
      
        String  | 
      
        该字段内容填为“application/json;charset=utf8”。  | 
     
| 
        X-Auth-Token  | 
      
        是  | 
      
        String  | 
      
        访问令牌,承载用户的身份、权限等信息。 token所需权限请参见授权项。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        是  | 
      
        object  | 
      
        OpenID Connect配置详情。  | 
     
| 
        参数  | 
      
        是否必选  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|---|
| 
        access_mode  | 
      
        否  | 
      
        String  | 
      
        访问方式。 
  | 
     
| 
        idp_url  | 
      
        否  | 
      
        String  | 
      
        OpenID Connect身份提供商标识,对应ID token中iss字段。 最小长度:10。最大长度:255。  | 
     
| 
        client_id  | 
      
        否  | 
      
        String  | 
      
        在OpenID Connect身份提供商注册的客户端ID。 最小长度:5。最大长度:255。  | 
     
| 
        authorization_endpoint  | 
      
        否  | 
      
        String  | 
      
        OpenID Connect身份提供商授权地址。 访问方式为program_console必选。 最小长度:10。最大长度:255。  | 
     
| 
        scope  | 
      
        否  | 
      
        String  | 
      
        授权请求信息范围。 访问方式为program_console必选。 枚举值: 
  | 
     
| 
        response_type  | 
      
        否  | 
      
        String  | 
      
        授权请求返回的类型。 访问方式为program_console必选。 枚举值: 
  | 
     
| 
        response_mode  | 
      
        否  | 
      
        String  | 
      
        授权请求返回方式。 访问方式为program_console必选。 枚举值: 
  | 
     
| 
        signing_key  | 
      
        否  | 
      
        String  | 
      
        OpenID Connect身份提供商ID Token签名的公钥。 最小长度:10。最大长度:30000。 格式示例: {
  "keys":[
     {
        "kid":"d05ef20c4512645vv1..." ,
        "n":"cws_cnjiwsbvweolwn_-vnl...",
        "e":"AQAB",
        "kty":"RSA",
        "use":"sig",
        "alg":"RS256"
      }
   ]
}  | 
     
响应参数
状态码为 200 时:
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        object  | 
      
        OpenID Connect配置详情。  | 
     
| 
        参数  | 
      
        参数类型  | 
      
        描述  | 
     
|---|---|---|
| 
        access_mode  | 
      
        String  | 
      
        访问方式。 
  | 
     
| 
        idp_url  | 
      
        String  | 
      
        OpenID Connect身份提供商标识,对应ID token中iss字段。  | 
     
| 
        client_id  | 
      
        String  | 
      
        在OpenID Connect身份提供商注册的客户端ID。  | 
     
| 
        authorization_endpoint  | 
      
        String  | 
      
        OpenID Connect身份提供商授权地址。 访问方式为program方式时返回null。  | 
     
| 
        scope  | 
      
        String  | 
      
        授权请求信息范围。 访问方式为program方式时返回null。 枚举值: 
  | 
     
| 
        response_type  | 
      
        String  | 
      
        授权请求返回的类型。 访问方式为program方式时返回null。 枚举值: 
  | 
     
| 
        response_mode  | 
      
        String  | 
      
        授权请求返回方式。 访问方式为program方式时返回null。 枚举值: 
  | 
     
| 
        signing_key  | 
      
        String  | 
      
        OpenID Connect身份提供商ID Token签名的公钥。  | 
     
请求示例
- 修改编程访问配置
    
PUT /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config { "openid_connect_config" : { "access_mode" : "program", "idp_url" : "https://accounts.example.com", "client_id" : "client_id_example", "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" } } - 修改编程访问和管理控制台访问配置
    
PUT /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config { "openid_connect_config" : { "access_mode" : "program_console", "idp_url" : "https://accounts.example.com", "client_id" : "client_id_example", "authorization_endpoint" : "https://accounts.example.com/o/oauth2/v2/auth", "scope" : "openid", "response_type" : "id_token", "response_mode" : "form_post", "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" } } 
响应示例
状态码为 200 时:
{ 
  "openid_connect_config" : { 
    "access_mode" : "program_console", 
    "idp_url" : "https://accounts.example.com", 
    "client_id" : "client_id_example", 
    "authorization_endpoint" : "https://accounts.example.com/o/oauth2/v2/auth", 
    "scope" : "openid", 
    "response_type" : "id_token", 
    "response_mode" : "form_post", 
    "signing_key" : "{\"keys\":[{\"kty\":\"RSA\",\"e\":\"AQAB\",\"use\":\"sig\",\"n\":\"example\",\"kid\":\"kid_example\",\"alg\":\"RS256\"}]}" 
  } 
}
  状态码
| 
        状态码  | 
      
        描述  | 
     
|---|---|
| 
        200  | 
      
        请求成功。  | 
     
| 
        400  | 
      
        参数无效。  | 
     
| 
        401  | 
      
        认证失败。  | 
     
| 
        403  | 
      
        没有操作权限。  | 
     
| 
        404  | 
      
        未找到相应的资源。  | 
     
| 
        500  | 
      
        系统内部错误。  | 
     
错误码
请参见错误码。