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 LoginToken

Função

Essa API é usada para obter um loginToken para fazer login por meio de um corretor de identidade personalizado. LoginTokens são emitidos para que os usuários façam login através de corretores de identidade personalizados. Cada loginToken contém informações de identidade e sessão de um usuário. Para fazer login em um console de serviço de nuvem usando um URL de agente de identidade personalizado, chame essa API para obter um loginToken para autenticação.

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.

Por padrão, um loginToken é 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

Obrigatoriedade

Tipo

Descrição

Content-Type

Sim

String

Preencha application/json;charset=utf8 neste campo.

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

Parâmetro

Obrigatoriedade

Tipo

Descrição

auth

Sim

Object

Informações de autenticação.

Tabela 3 auth

Parâmetro

Obrigatoriedade

Tipo

Descrição

securitytoken

Sim

Object

Parâmetros de autenticação.

Tabela 4 auth.securitytoken

Parâmetro

Obrigatoriedade

Tipo

Descrição

access

Sim

String

O AK.

secret

Sim

String

SK.

id

Sim

String

SecurityToken temporário.

Um loginToken pode ser obtido usando o securityToken de um usuário de agente de identidade personalizado ou de um usuário comum. Para mais detalhes, consulte Obtenção de uma chave de acesso temporária e SecurityToken através de um token.

Um securityToken pode ser obtido usando uma agência, 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 SecurityToken por meio de uma agência.

duration_seconds

Não

Integer

Período de validade (segundos) do loginToken. 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 além do intervalo (10 minutos a 12 horas), o valor padrão 10 minutos será usado.
  • O período de validade do loginToken é o período de validade restante do securityToken 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 securityToken e certifique-se de que o valor de duration_seconds seja menor que o período de validade restante do securityToken.
    • Se o período de validade restante do securityToken for inferior a 10 minutos, o período de validade do loginToken é 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

LoginToken assinado.

Tabela 6 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

logintoken

Object

Informação LoginToken.

Tabela 7 logintoken

Parâmetro

Tipo

Descrição

domain_id

String

ID da conta.

expires_at

String

Hora em que o loginToken expirará.

method

String

Método de autenticação. O valor é federation_proxy para um usuário de agente de identidade personalizado, token para um usuário comum 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 agente de identidade personalizado.

session_name

String

Nome de um usuário de agente de identidade personalizado.

NOTA:

Este parâmetro será retornado quando você obtiver uma chave de acesso temporária e securityToken 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 securityToken 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

Delegar informações da conta.

name

String

Nome de usuário da parte delegada.

password_expires_at

String

Tempo de expiração da senha.

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

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 ao pedido de obtenção de uma chave de acesso temporária e securityToken através de um token

Exemplo 2: resposta à solicitação de obtenção de uma chave de acesso temporária e securityToken através 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

Autenticação falhou.

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