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.