Obtenção de um token com escopo
Função
Essa API é usada para obter um token com escopo por meio da autenticação de identidade federada.
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/auth/tokens
Parâmetros de solicitação
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Content-Type | Não | String | Preencha application/json;charset=utf8 nesse campo. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Sim | Object | Informações de autenticação. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Sim | Object | Parâmetros de autenticação. | |
Sim | Object | Escopo de aplicação do token. O valor pode ser project ou domain. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
methods | Sim | Array of strings | Método de autenticação. O valor deste campo é token. |
Sim | Object | Informações de token sem escopo. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
Não | Object | Se esse campo estiver definido como domain, o token poderá ser usado para acessar recursos em todos os projetos sob a conta de um ID ou nome especificado. | |
Não | Object | Se esse campo estiver definido como project, o token só poderá ser usado para acessar recursos no projeto de um ID ou nome especificado. |
Parâmetro | Obrigatório | Tipo | Descrição |
|---|---|---|---|
id | Não | String | ID da conta. O id ou o name deve ser especificado. |
name | Não | String | Nome da conta. O id ou o name deve ser especificado. |
Parâmetros de resposta
Parâmetro | Tipo | Descrição |
|---|---|---|
X-Subject-Token | String | Token com escopo assinado. |
Parâmetro | Tipo | Descrição |
|---|---|---|
Object | Detalhes do token com escopo. |
Parâmetro | Tipo | Descrição |
|---|---|---|
methods | Array of strings | Método para obter o token. |
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. |
Array of objects | Informações do catálogo. | |
Object | Informações da conta do usuário do IAM que solicita o token. Este parâmetro é retornado somente quando o parâmetro scope no corpo da solicitação foi definido como domain. | |
Object | Informações do projeto do usuário do IAM. Este parâmetro é retornado somente quando o parâmetro scope no corpo da solicitação foi definido como project. | |
Array of objects | Informações de permissões do token. | |
Object | Informações sobre o usuário do IAM que solicita o token. | |
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. |
Parâmetro | Tipo | Descrição |
|---|---|---|
type | String | Tipo do serviço ao qual a API pertence. |
id | String | ID do serviço. |
name | String | Nome do serviço. |
Array of objects | Informações do ponto de extremidade. |
Parâmetro | Tipo | Descrição |
|---|---|---|
url | String | URL do ponto de extremidade. |
region | String | Região à qual o ponto de extremidade pertence. |
region_id | String | ID da região. |
interface | String | Visibilidade da API. public indica que a API está disponível para acesso público. |
id | String | ID do ponto de extremidade. |
Parâmetro | Tipo | Descrição |
|---|---|---|
name | String | Nome do projeto. |
id | String | ID do projeto. |
Object | Informações da conta do projeto. |
Parâmetro | Tipo | Descrição |
|---|---|---|
name | String | Nome de permissão. |
id | String | ID de permissão. O valor padrão é 0, que não corresponde a nenhuma permissão. |
Parâmetro | Tipo | Descrição |
|---|---|---|
Object | Informações sobre a conta usada para criar o usuário do IAM. | |
Object | Informações de autenticação de identidade federada. | |
id | String | ID do usuário. |
name | String | Nome de usuário. |
password_expires_at | String | Tempo de expiração da senha. Se este parâmetro não for especificado, a senha nunca 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. |
Parâmetro | Tipo | Descrição |
|---|---|---|
Array of objects | Informações do grupo de usuários. | |
Object | Informações do provedor de identidade. | |
Object | Informações de protocolo. |
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
POST https://iam.myhuaweicloud.com/v3/auth/tokens
{
"auth": {
"identity": {
"methods": [
"token"
],
"token": {
"id": "MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB..."
}
},
"scope": {
"domain": {
"id": "063bb260a480cecc0f36c0086bb6c..."
}
}
}
} Exemplo de resposta
Código de status: 201
A solicitação foi bem-sucedida.
Parameters in the response header X-Subject-Token:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body
{
"token": {
"expires_at": "2020-02-13T14:21:34.042000Z",
"methods": [
"token"
],
"catalog": [
{
"endpoints": [
{
"id": "d2983f677ce14f1e81cbb6a9345a107a",
"interface": "public",
"region": "*",
"region_id": "*",
"url": "https://iam.ap-southeast-1.myhuaweicloud.com/v3"
}
],
"id": "fd631b3426cb40f0919091d5861d8fea",
"name": "keystone",
"type": "identity"
}
],
"domain": {
"id": "06aa2260a480cecc0f36c0086bb6cfe0",
"name": "IAMDomain"
},
"roles": [
{
"id": "0",
"name": "te_admin"
},
{
"id": "0",
"name": "secu_admin"
}
],
"issued_at": "2020-02-12T14:21:34.042000Z",
"user": {
"OS-FEDERATION": {
"groups": [
{
"id": "06aa2260bb00cecc3f3ac0084a74038f",
"name": "admin"
}
],
"identity_provider": {
"id": "ACME"
},
"protocol": {
"id": "saml"
}
},
"domain": {
"id": "06aa2260a480cecc0f36c0086bb6cfe0",
"name": "IAMDomain"
},
"id": "LdQTDSC7zmJVIic3yaCbLBXDxPAdDxLg",
"name": "FederationUser",
"password_expires_at": ""
}
}
} Códigos de status
Código de status | Descrição |
|---|---|
201 | A solicitação foi bem-sucedida. |
400 | Parâmetros inválidos. |
401 | Falha na autenticação. |
403 | Acesso negado. |
404 | O recurso solicitado não pode ser encontrado. |
500 | Erro de servidor interno. |
503 | Serviço indisponível. |
Códigos de erro
Nenhum

