创建OpenID Connect身份提供商配置 - CreateOpenIdConnectConfig
该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:地区和终端节点。
调试
您可以在API Explorer中调试该接口。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
idp_id | 是 | String | 身份提供商名称。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
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"
}
]
} |
响应参数
状态码为 201 时:
参数 | 参数类型 | 描述 |
|---|---|---|
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签名的公钥。 |
请求示例
- 创建支持编程访问配置的OpenID Connect身份提供商。
POST /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\"}]}" } } - 创建支持编程访问和管理控制台访问配置的OpenID Connect身份提供商。
POST /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\"}]}" } }
响应示例
状态码为 201 时:
创建成功。
- 示例 1
{ "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\"}]}" } } - 示例 2
{ "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\"}]}" } }
状态码
状态码 | 描述 |
|---|---|
201 | 创建成功。 |
400 | 参数无效。 |
401 | 认证失败。 |
403 | 没有操作权限。 |
404 | 未找到相应的资源。 |
409 | 资源已存在。 |
500 | 系统内部错误。 |
错误码
请参见错误码。

