Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-02-16 GMT+08:00

Obtenção de um unscoped token com um token OpenID Connect ID

Função

Essa API é usada para obter um unscoped token usando um token OpenID Connect ID.

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/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth

Tabela 1 Parâmetros de URI

Parâmetro

Obrigatoriedade

Tipo

Descrição

idp_id

Sim

String

Nome do provedor de identidade.

protocol_id

Sim

String

ID do protocolo.

Parâmetros de solicitação

Tabela 2 Parâmetros no cabeçalho da solicitação

Parâmetro

Obrigatoriedade

Tipo

Descrição

Authorization

Sim

String

Token de ID do provedor de identidade. O formato é Bearer {ID Token}.

Parâmetros de resposta

Código de status: 201

Tabela 3 Parâmetros no cabeçalho da resposta

Parâmetro

Tipo

Descrição

X-Subject-Token

String

Token assinado.

Tabela 4 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

token

object

Detalhes sobre o token obtido.

Tabela 5 UnscopedTokenInfo

Parâmetro

Tipo

Descrição

expires_at

String

Hora em que o token expirará.

methods

Array of strings

Método de obtenção de token. O valor padrão para autenticação federada é mapped.

issued_at

String

Hora em que o token foi emitido.

user

object

Detalhes do usuário.

roles

Array of objects

Detalhes da função ou política.

catalog

Array of objects

Detalhes do catálogo.

Tabela 6 FederationUserBody

Parâmetro

Tipo

Descrição

OS-FEDERATION

object

Detalhes do usuário federado.

domain

object

Detalhes da conta.

id

String

ID do usuário.

name

String

Nome de usuário.

Tabela 7 OSFederationInfo

Parâmetro

Tipo

Descrição

identity_provider

object

Detalhes do provedor de identidade.

protocol

object

Detalhes do protocolo.

groups

Array of objects

Detalhes do grupo de usuários.

Tabela 8 IdpIdInfo

Parâmetro

Tipo

Descrição

id

String

ID do provedor de identidade.

Tabela 9 ProtocolIdInfo

Parâmetro

Tipo

Descrição

id

String

ID do protocolo.

Tabela 10 token.user.OS-FEDERATION.groups

Parâmetro

Tipo

Descrição

id

String

ID do grupo de usuários.

name

String

Nome do grupo de usuários.

Tabela 11 DomainInfo

Parâmetro

Tipo

Descrição

id

String

ID da conta.

name

String

Nome da conta.

Tabela 12 token.roles

Parâmetro

Tipo

Descrição

id

String

ID de permissão.

name

String

Nome de permissão.

Tabela 13 token.catalog

Parâmetro

Tipo

Descrição

id

String

ID do ponto de extremidade.

interface

String

Visibilidade da API. public indica que a API está disponível para acesso público.

region

String

Região à qual o ponto de extremidade pertence.

region_id

String

ID da região.

url

String

URL do ponto de extremidade.

Exemplo de solicitação

POST https://{address}/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth

Exemplo de resposta

Código de status: 201

O token é obtido com sucesso.

{ 
  "token" : { 
    "expires_at" : "2018-03-13T03:00:01.168000Z", 
    "methods" : [ "mapped" ], 
    "issued_at" : "2018-03-12T03:00:01.168000Z", 
    "user" : { 
      "OS-FEDERATION" : { 
        "identity_provider" : { 
          "id" : "idptest" 
        }, 
        "protocol" : { 
          "id" : "oidc" 
        }, 
        "groups" : [ { 
          "name" : "admin", 
          "id" : "45a8c8f..." 
        } ] 
      }, 
      "domain" : { 
        "id" : "063bb260a480...", 
        "name" : "IAMDomain" 
      }, 
      "name" : "FederationUser", 
      "id" : "suvmgvUZc4PaCOEc..." 
    } 
  } 
}

Código de status: 400

Parâmetros inválidos.

{ 
  "error" : { 
    "code" : 400, 
    "message" : "Request parameter 'idp id' is invalid.", 
    "title" : "Bad Request" 
  } 
}

Código de status: 401

Autenticação falhou.

{ 
  "error" : { 
    "code" : 401, 
    "message" : "The request you have made requires authentication.", 
    "title" : "Unauthorized" 
  } 
}

Código de status: 403

Acesso negado.

{ 
  "error" : { 
    "code" : 403, 
    "message" : "You are not authorized to perform the requested action.", 
    "title" : "Forbidden" 
  } 
}

Código de status: 404

O servidor não conseguiu encontrar a página solicitada.

{ 
  "error" : { 
    "code" : 404, 
    "message" : "Could not find %(target)s: %(target_id)s.", 
    "title" : "Not Found" 
  } 
}

Código de status: 500

Erro interno do sistema.

{ 
  "error" : { 
    "code" : 500, 
    "message" : "An unexpected error prevented the server from fulfilling your request.", 
    "title" : "Internal Server Error" 
  } 
}

Códigos de status

Código de status

Descrição

201

O token é obtido com sucesso.

400

Parâmetros inválidos.

401

Autenticação falhou.

403

Acesso negado.

404

O servidor não conseguiu encontrar a página solicitada.

500

Erro interno do sistema.

Códigos de erro

Para obter detalhes, consulte Códigos de erro.