Criação de uma configuração de provedor de identidade do OpenID Connect
Função
Essa API é fornecida para o administrator criar uma configuração de provedor de identidade do OpenID Connect depois da criação de um provedor de identidade e registração de um protocolo (OpenID Connect).
A API pode ser chamada usando o ponto de extremidade global e pontos de extremidade específicos da região. 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 |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
idp_id |
Sim |
String |
Nome do provedor de identidade. |
Parâmetros de solicitação
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
Content-Type |
Sim |
String |
Preencha application/json;charset=utf8 neste campo. |
X-Auth-Token |
Sim |
String |
Consulte Ações. |
Parâmetro |
Obrigatoriedade |
Tipo |
Descrição |
---|---|---|---|
Sim |
object |
Configurações do OpenID Connect. |
Parâmetro |
Obrigatoriedade |
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 OpenID Connect. Comprimento: 5 a 255 caracteres |
authorization_endpoint |
Não |
String |
Endpoint de autorização do provedor de identidade 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 |
Escopo dos pedidos 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 OpenID Connect. Comprimento: Personagens de 10 a 30.000 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 do 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 OpenID Connect. |
authorization_endpoint |
String |
Endpoint de autorização do provedor de identidade 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 |
Âmbito dos pedidos 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 OpenID Connect. |
Exemplo de solicitação
- Criação de um provedor de identidade que suporta 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\"}]}" } }
- Criação de um provedor de identidade que suporte acesso programático e acesso ao console de gerenciamento
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 êxito.
- 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 êxito. |
400 |
Parâmetros inválidos. |
401 |
Autenticação falhou. |
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.