Obtenção de um token com um token de ID do OpenID Connect
Função
Essa API é usada para obter um token de autenticação de identidade federado usando um token de ID do 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-AUTH/id-token/tokens
Parâmetros de solicitação
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
X-Idp-Id | Sim | String | ID do provedor de identidade. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Sim | object | Detalhes sobre o parâmetro de solicitação auth. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Sim | object | Detalhes sobre um token de ID. | |
Não | object | Escopo de permissão do token que você deseja obter. Um token sem escopo será obtido se esse parâmetro não for especificado. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
id | Sim | String | Token de ID, que é construído pelo IdP empresarial para transportar as informações de identidade dos usuários federados. Para obter detalhes sobre como obter um token de ID, consulte a documentação do IdP empresarial. |
Parâmetros de resposta
Código de status: 201
Parâmetro | Tipo | Descrição |
|---|---|---|
X-Subject-Token | String | Token assinado. |
Parâmetro | Tipo | Descrição |
|---|---|---|
object | Detalhes sobre o token obtido. |
Parâmetro | Tipo | Descrição |
|---|---|---|
expires_at | String | Hora em que o token expirará. NOTA: O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601. |
methods | Array of strings | Método para obter o token. Para usuários federados, o valor padrão deste parâmetro é mapped. |
issued_at | String | Hora em que o token foi emitido. NOTA: O valor é uma hora UTC no formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por exemplo, 2023-06-28T08:56:33.710000Z. Para obter detalhes sobre os formatos de data e carimbo de data/hora, consulte ISO-8601. |
object | Detalhes do usuário. | |
object | Detalhes da conta. | |
object | Detalhes do projeto. | |
Array of objects | Detalhes da função ou política. | |
Array of objects | Detalhes do catálogo. |
Parâmetro | Tipo | Descrição |
|---|---|---|
object | Detalhes do usuário federado. | |
object | Detalhes da conta. | |
id | String | ID do usuário. |
name | String | Nome de usuário. |
Parâmetro | Tipo | Descrição |
|---|---|---|
object | Detalhes do provedor de identidade. | |
object | Detalhes do protocolo. | |
Array of objects | Detalhes do grupo de usuários. |
Parâmetro | Tipo | Descrição |
|---|---|---|
id | String | ID do grupo de usuários. |
name | String | Nome do grupo de usuários. |
Exemplo de solicitação
- Solicitação para obter um token com escopo para um projeto específico
POST /v3.0/OS-AUTH/id-token/tokens
{ "auth" : { "id_token" : { "id" : "eyJhbGciOiJSU..." }, "scope" : { "project" : { "id" : "46419baef4324...", "name" : "ap-southeast-1" } } } } - Solicitação para obter um token com escopo para um domínio específico
POST /v3.0/OS-AUTH/id-token/tokens
{ "auth" : { "id_token" : { "id" : "eyJhbGciOiJSU..." }, "scope" : { "domain" : { "id" : "063bb260a480...", "name" : "IAMDomain" } } } } - Solicitação para obter um token sem escopo
POST /v3.0/OS-AUTH/id-token/tokens
{ "auth" : { "id_token" : { "id" : "eyJhbGciOiJSU..." } } }
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_msg" : "Request body is invalid.",
"error_code" : "IAM.0011"
} Código de status: 401
Falha na autenticação.
{
"error_msg" : "The request you have made requires authentication.",
"error_code" : "IAM.0001"
} Código de status: 403
Acesso negado.
{
"error_msg" : "Policy doesn't allow %(actions)s to be performed.",
"error_code" : "IAM.0003"
} Código de status: 404
O recurso solicitado não pode ser encontrado.
{
"error_msg" : "Could not find %(target)s: %(target_id)s.",
"error_code" : "IAM.0004"
} Código de status: 500
Erro do sistema interno.
{
"error_msg" : "An unexpected error prevented the server from fulfilling your request.",
"error_code" : "IAM.0006"
} Códigos de status
Código de status | Descrição |
|---|---|
201 | O token é obtido com sucesso. |
400 | Parâmetros inválidos. |
401 | Falha na autenticação. |
403 | Acesso negado. |
404 | O recurso solicitado não pode ser encontrado. |
500 | Erro do sistema interno. |
Códigos de erro
Para obter detalhes, consulte Códigos de erro.

