Creación de una configuración de proveedor de identidades OpenID Connect
Función
Esta API se proporciona para que el administrator cree una configuración de proveedor de identidad OpenID Connect después de crear un proveedor de identidad y registrar un protocolo (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
POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
idp_id |
Sí |
String |
Nombre del proveedor de identidad. |
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 |
Sí |
String |
Tipo de acceso. Opciones:
|
idp_url |
Sí |
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 |
Sí |
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 |
Sí |
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: 201
Parámetro |
Tipo |
Descripción |
---|---|---|
object |
Configuraciones de OpenID Connect. |
Parámetro |
Tipo |
Descripción |
---|---|---|
access_mode |
String |
Tipo de acceso. 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
- Solicitud de creación de un proveedor de identidad OpenID Connect que admita configuraciones de acceso programático
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\"}]}" } }
- Solicitud de creación de un proveedor de identidad OpenID Connect que admita el acceso programático y las configuraciones de acceso a la consola
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\"}]}" } }
Ejemplo de respuesta
Código de estado: 201
El proveedor de identidad se crea correctamente.
- Ejemplo 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\"}]}" } }
- Ejemplo 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\"}]}" } }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
El proveedor de identidad se crea correctamente. |
400 |
Parámetros no válidos. |
401 |
Error de autenticación. |
403 |
Acceso denegado. |
404 |
No se puede encontrar el recurso solicitado. |
409 |
El recurso ya existe. |
500 |
Error de servidor interno. |
Códigos de error
Para obtener más información, consulte Códigos de error.