Criação de uma configuração de provedor de identidade de OpenID Connect
Função
Essa API é fornecida para que o administrador crie uma configuração de provedor de identidade de OpenID Connect depois de criar um provedor de identidade e registrar um protocolo (OpenID Connect).
A API pode ser chamada usando o ponto de extremidade global e pontos de extremidade da região específica. Para pontos de extremidade do IAM, consulte Regiões e pontos de extremidade.
URI
POST /v3.0/OS-FEDERATION/identity-providers/{idp_id}/openid-connect-config
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
idp_id | Sim | String | Nome do provedor de identidade. |
Parâmetros de solicitação
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Content-Type | Sim | String | Preencha application/json;charset=utf8 nesse campo. |
X-Auth-Token | Sim | String | Token de acesso emitido para um usuário para suportar sua identidade e permissões. Para obter detalhes sobre as permissões exigidas pelo token, consulte Ações. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Sim | object | Configurações do OpenID Connect. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
access_mode | Sim | String | Tipo de acesso. Opções:
|
idp_url | Sim | String | URL do provedor de identidade do OpenID Connect. Esse campo corresponde ao campo iss no token de ID. Comprimento: 10 a 255 caracteres |
client_id | Sim | String | ID de um cliente registrado com o provedor de identidade de OpenID Connect. Comprimento: 5 a 255 caracteres |
authorization_endpoint | Não | String | Ponto de extremidade de autorização do provedor de identidade de OpenID Connect. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Comprimento: 10 a 255 caracteres |
scope | Não | String | Escopos das solicitações de autorização. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Valores enumerados:
|
response_type | Não | String | Tipo de resposta. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Valor enumerado:
|
response_mode | Não | String | Modo de resposta. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Valores enumerados:
|
signing_key | Sim | String | Chave pública usada para assinar o token de ID do provedor de identidade de OpenID Connect. Comprimento: 10 a 30.000 caracteres Exemplo de formato: {
"keys":[
{
"kid":"d05ef20c4512645vv1..." ,
"n":"cws_cnjiwsbvweolwn_-vnl...",
"e":"AQAB",
"kty":"RSA",
"use":"sig",
"alg":"RS256"
}
]
} |
Parâmetros de resposta
Código de status: 201
Parâmetro | Tipo | Descrição |
|---|---|---|
object | Configurações de OpenID Connect. |
Parâmetro | Tipo | Descrição |
|---|---|---|
access_mode | String | Tipo de acesso. Opções:
|
idp_url | String | URL do provedor de identidade do OpenID Connect. Esse campo corresponde ao campo iss no token de ID. |
client_id | String | ID de um cliente registrado com o provedor de identidade de OpenID Connect. |
authorization_endpoint | String | Ponto de extremidade de autorização do provedor de identidade de OpenID Connect. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. |
scope | String | Escopos das solicitações de autorização. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Valores enumerados:
|
response_type | String | Tipo de resposta. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Valor enumerado:
|
response_mode | String | Modo de resposta. Esse campo é obrigatório somente se o tipo de acesso estiver definido como acesso programático e acesso ao console de gerenciamento. Valores enumerados:
|
signing_key | String | Chave pública usada para assinar o token de ID do provedor de identidade de OpenID Connect. |
Exemplo de solicitação
- Solicitação para criar um provedor de identidade de OpenID Connect que suporte configurações de acesso 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\"}]}" } } - Solicitação para criar um provedor de identidade de OpenID Connect que suporte configurações de acesso programático e de acesso ao console
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\"}]}" } }
Exemplo de resposta
Código de status: 201
O provedor de identidade foi criado com sucesso.
- Exemplo 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\"}]}" } } - Exemplo 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 status
Código de status | Descrição |
|---|---|
201 | O provedor de identidade foi criado com sucesso. |
400 | Parâmetros inválidos. |
401 | Falha na autenticação. |
403 | Acesso negado. |
404 | O recurso solicitado não pode ser encontrado. |
409 | O recurso já existe. |
500 | Erro de servidor interno. |
Códigos de erro
Para obter detalhes, consulte Códigos de erro.

