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.