Obtenção de um token de logon
Função
Essa API é usada para obter um token de logon para fazer logon por meio de um corretor de identidade personalizado. Os tokens de logon são emitidos para que os usuários façam logon por meio de corretores de identidade personalizados. Cada token de logon contém informações de identidade e sessão de um usuário. Para efetuar logon em um console de serviço em nuvem usando um URL de corretor de identidade personalizado, chame essa API para obter um token de logon para autenticação.
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.
Por padrão, um token de logon é válido por 10 minutos. Você pode definir um período de validade de 10 minutos a 12 horas.
URI
POST /v3.0/OS-AUTH/securitytoken/logintokens
Parâmetros de solicitação
Parâmetro |
Obrigatório |
Tipo |
Descrição |
---|---|---|---|
Content-Type |
Sim |
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 |
---|---|---|---|
access |
Sim |
String |
AK. |
secret |
Sim |
String |
SK. |
id |
Sim |
String |
Token de segurança temporário. Um token de logon pode ser obtido usando o token de segurança de um usuário de corretor de identidade personalizado ou de um usuário comum. Para mais detalhes, consulte Obtenção de uma chave de acesso temporária e de um token de segurança por meio de um token. Um token de segurança pode ser obtido usando uma agência, e o parâmetro session_user.name deve ser especificado no corpo da solicitação. Para obter detalhes, consulte Obtenção de uma chave de acesso temporária e de um token de segurança por meio de uma agência. |
duration_seconds |
Não |
Integer |
Período de validade (segundos) do token de logon. O valor varia de 10 minutos a 12 horas. O valor padrão é 10 minutos, ou seja, 600 segundos.
NOTA:
|
Parâmetros de resposta
Parâmetro |
Tipo |
Descrição |
---|---|---|
X-Subject-LoginToken |
String |
Token de logon assinado. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Informações do token de logon. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
domain_id |
String |
ID da conta. |
expires_at |
String |
Hora em que o token de logon expirará. |
method |
String |
Método de autenticação. O valor é federation_proxy para um usuário de corretor de identidade personalizado e é token para um usuário da Huawei Cloud. |
user_id |
String |
ID do usuário. |
user_name |
String |
Nome de usuário. |
session_id |
String |
ID da sessão. |
session_user_id |
String |
ID de um usuário de corretor de identidade personalizado. |
session_name |
String |
Nome de um usuário de corretor de identidade personalizado.
NOTA:
Este parâmetro será retornado quando você obtiver uma chave de acesso temporária e um token de segurança usando uma agência e especificar o parâmetro session_user.name no corpo da solicitação. O valor deste parâmetro é o valor de session_user.name. |
Object |
Informações sobre a parte delegada.
NOTA:
Este parâmetro será retornado quando você obtiver uma chave de acesso temporária e um token de segurança usando uma agência e especificar o parâmetro session_user.name no corpo da solicitação. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Informações da conta delegada. |
|
name |
String |
Nome de usuário da parte delegada. |
password_expires_at |
String |
Tempo de expiração da senha.
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. |
id |
String |
ID do usuário. |
Exemplo de solicitação
Solicitação para obter um token de logon por meio de um corretor de identidade personalizado
POST https://iam.myhuaweicloud.com/v3.0/OS-AUTH/securitytoken/logintokens
{ "auth": { "securitytoken": { "access": "LUJHNN4WB569PGAP...", "secret": "7qtrm2cku0XubixiVkBOcvMfpnu7H2mLN...", "id": "gQpjbi1ub3J0a...", "duration_seconds":"600" } } }
Exemplo de resposta
Código de status: 201
A solicitação foi bem-sucedida.
Exemplo 1: resposta à solicitação para obter uma chave de acesso temporária e um token de segurança por meio de um token
Exemplo 2: resposta à solicitação para obter uma chave de acesso temporária e um token de segurança por meio de uma agência (com session_user.name no corpo da solicitação)
- Exemplo 1
Parameters in the response header X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body { "logintoken": { "domain_id": "05262121fb00d5c30fbec013bc1...", "expires_at": "2020-01-20T08:18:36.447000Z", "method": "token", "user_id": "0526213b8a80d38a1f31c013ed...", "user_name": "IAMUser", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_id": "40b328b6683a41b9bf8e7185e..." } }
- Exemplo 2
Parameters in the response header X-Subject-LoginToken:MIIatAYJKoZIhvcNAQcCoIIapTCCGqECAQExDTALB...
Parameters in the response body { "logintoken": { "domain_id": "05262121fb00d5c30fbec01...", "expires_at": "2020-01-23T03:27:26.728000Z", "method": "federation_proxy", "user_id": "07826f367b80d2474ff9c013a...", "user_name": "IAMDomainA/IAMAgency", "session_id": "0012c8e6adda4ce787e90585d...", "session_user_id": "093f75808b8089ba1f6dc000c7cac...", "session_name": "SessionUserName", "assumed_by": { "user": { "domain": { "name": "IAMDomainB", "id": "0659ef9c9c80d4560f14c009ac..." }, "name": "IAMUserB", "password_expires_at": "2020-02-16T02:44:57.000000Z", "id": "0659ef9d4d00d3b81f26c009fe..." } } } }
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. |
405 |
O método especificado na solicitação não é permitido para o recurso solicitado. |
413 |
A entidade de solicitação é muito grande. |
500 |
Erro de servidor interno. |
503 |
Serviço indisponível. |
Códigos de erro
Nenhum