Modificación de un proveedor de identidades OpenID Connect
Función
Esta API se proporciona para que el administrador modifique un proveedor de identidad de OpenID Connect.
Se puede invocar a la API utilizando tanto el punto de conexión global como los puntos de conexión específicos de la región. Para los puntos de conexión de IAM, consulte Regiones y puntos de conexión.
URI
PUT /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
idp_id | Sí | String | ID de proveedor de identidad. Longitud: 1 a 64 caracteres |
Parámetros de solicitud
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
Content-Type | Sí | String | Rellene application/json;charset=utf8 en este campo. |
X-Auth-Token | Sí | String | Token de acceso emitido a un usuario para acreditar su identidad y sus permisos. Para obtener más información sobre los permisos requeridos por el token, consulte Acciones. |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
Sí | object | Configuraciones de OpenID Connect. |
Parámetro | Obligatorio | Tipo | Descripción |
|---|---|---|---|
access_mode | No | String | Tipo de acceso. Opciones:
|
idp_url | No | String | URL del proveedor de identidad OpenID Connect. Este campo corresponde al campo iss en el token ID. Longitud: 10 a 255 caracteres |
client_id | No | String | ID de un cliente registrado con el proveedor de identidad de OpenID Connect. Longitud: de 5 a 255 caracteres |
authorization_endpoint | No | String | Punto de conexión de autorización del proveedor de identidad de OpenID Connect. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Longitud: 10 a 255 caracteres |
scope | No | String | Ámbitos de las solicitudes de autorización. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Valores enumerados:
|
response_type | No | String | Tipo de respuesta. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Valor enumerado:
|
response_mode | No | String | Modo de respuesta. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Valores enumerados:
|
signing_key | No | String | Clave pública utilizada para firmar el token de ID del proveedor de identidad OpenID Connect. Longitud: 10 a 30,000 caracteres Ejemplo de formato: {
"keys":[
{
"kid":"d05ef20c4512645vv1..." ,
"n":"cws_cnjiwsbvweolwn_-vnl...",
"e":"AQAB",
"kty":"RSA",
"use":"sig",
"alg":"RS256"
}
]
} |
Parámetros de respuesta
Código de estado: 200
Parámetro | Tipo | Descripción |
|---|---|---|
object | Configuraciones de OpenID Connect. |
Parámetro | Tipo | Descripción |
|---|---|---|
access_mode | String | Access type. Opciones:
|
idp_url | String | URL del proveedor de identidad OpenID Connect. Este campo corresponde al campo iss en el token ID. |
client_id | String | ID de un cliente registrado con el proveedor de identidad de OpenID Connect. |
authorization_endpoint | String | Punto de conexión de autorización del proveedor de identidad de OpenID Connect. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. |
scope | String | Ámbitos de las solicitudes de autorización. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Valores enumerados:
|
response_type | String | Tipo de respuesta. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Valor enumerado:
|
response_mode | String | Modo de respuesta. Este campo sólo es necesario si el tipo de acceso está establecido en acceso programático y acceso a la consola de gestión. Valores enumerados:
|
signing_key | String | Clave pública utilizada para firmar el token de ID del proveedor de identidad OpenID Connect. |
Ejemplo de solicitud
- Modificación de un proveedor de identidad que admita el acceso programático
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\"}]}" } } - Modificación de un proveedor de identidad que admita el acceso programático y el acceso a la consola de gestión
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\"}]}" } }
Ejemplo de respuesta
Código de estado: 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\"}]}"
}
} Códigos de estado
Código de estado | Descripción |
|---|---|
200 | La solicitud se ha realizado correctamente. |
400 | Parámetros no válidos. |
401 | Error de autenticación. |
403 | Acceso denegado. |
404 | No se puede encontrar el recurso solicitado. |
500 | Error de servidor interno. |
Códigos de error
Para obtener más información, consulte Códigos de error.

