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 2024-08-31 GMT+08:00

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

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

Parâmetro

Obrigatório

Tipo

Descrição

Content-Type

Sim

String

Preencha application/json;charset=utf8 nesse campo.

Tabela 2 Parâmetros no corpo da solicitação

Parâmetro

Obrigatório

Tipo

Descrição

auth

Sim

Object

Informações de autenticação.

Tabela 3 auth

Parâmetro

Obrigatório

Tipo

Descrição

securitytoken

Sim

Object

Parâmetros de autenticação.

Tabela 4 auth.securitytoken

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:
  • Se o valor transferido estiver fora do intervalo (10 minutos a 12 horas), será usado o valor padrão de 10 minutos.
  • O período de validade do token de logon é o período de validade restante do token de segurança temporário ou o valor de duration_seconds, o que for menor.
    • Defina um período de validade longo (15 minutos a 24 horas) para o token de segurança e certifique-se de que o valor de duration_seconds seja menor do que o período de validade restante do token de segurança.
    • Se o período de validade restante do token de segurança for inferior a 10 minutos, o período de validade do token de logon será de 10 minutos.

Parâmetros de resposta

Tabela 5 Parâmetros no cabeçalho da resposta

Parâmetro

Tipo

Descrição

X-Subject-LoginToken

String

Token de logon assinado.

Tabela 6 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

logintoken

Object

Informações do token de logon.

Tabela 7 logintoken

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.

assumed_by

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.

Tabela 8 logintoken.assumed_by

Parâmetro

Tipo

Descrição

user

Object

Informações sobre a parte delegada.

Tabela 9 logintoken.assumed_by.user

Parâmetro

Tipo

Descrição

domain

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.

Tabela 10 logintoken.assumed_by.user.domain

Parâmetro

Tipo

Descrição

name

String

Nome da conta à qual a parte delegada pertence.

id

String

ID da conta.

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