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 sem escopo (iniciado pelo IdP)

Função

Essa API é usada para obter um token sem escopo por meio da autenticação de identidade federada iniciada pelo IdP.

Tokens sem escopo não podem ser usados para autenticação. Um usuário federado pode ser autenticado apenas usando um token com escopo. Para obter detalhes, consulte Obtenção de um token com escopo.

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.

  • Essa API pode ser chamada usando a CLI. O cliente pode chamar essa API para obter uma resposta SAML no modo de autenticação iniciado pelo IdP e obter um token sem escopo por meio de um navegador.

URI

POST /v3.0/OS-FEDERATION/tokens

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

O cliente deve usar um navegador para transferir parâmetros de resposta SAML para o servidor. Portanto, defina esse parâmetro como application/x-www-form-urlencoded.

X-Idp-Id

Sim

String

ID do provedor de identidade.

Tabela 2 Parâmetros na solicitação formData

Parâmetro

Obrigatório

Tipo

Descrição

SAMLResponse

Sim

String

Corpo da resposta a ser retornado se a autenticação do IdP for bem-sucedida.

Execute o seguinte procedimento para obter uma resposta SAML:

  1. Visite https://idp.example.org/idp/profile/SAML2/Unsolicited/SSO?providerId=iam.example.com usando um navegador.

    idp.example.org: ID de entidade nos metadados do IdP

    iam.example.com: ID de entidade nos metadados do SP

  2. Na página de logon do provedor de identidade exibida, digite um nome de usuário e clique em Login (logon sem senha é suportado). Na nova página exibida, pressione F12 e clique em Accept. Obtenha a resposta SAML do POST, conforme mostrado na figura a seguir.
    Figura 1 Obtenção de uma resposta SAML

Parâmetros de resposta

Tabela 3 Parâmetros no cabeçalho da resposta

Parâmetro

Tipo

Descrição

X-Subject-Token

String

Token assinado sem escopo.

Tabela 4 Parâmetros no corpo da resposta

Parâmetro

Tipo

Descrição

token

Object

Detalhes do token sem escopo.

Tabela 5 token

Parâmetro

Tipo

Descrição

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.

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.

user

Object

Informações sobre o usuário do IAM que solicita o token.

Tabela 6 token.user

Parâmetro

Tipo

Descrição

domain

Object

Informações sobre a conta usada para criar o usuário do IAM.

id

String

ID do usuário.

name

String

Nome de usuário.

OS-FEDERATION

Object

Informações de autenticação de identidade federada.

Tabela 7 token.user.domain

Parâmetro

Tipo

Descrição

name

String

Nome da conta.

id

String

ID da conta.

Tabela 8 token.user.OS-FEDERATION

Parâmetro

Tipo

Descrição

groups

Array of objects

Informações do grupo de usuários.

identity_provider

Object

Informações do provedor de identidade.

protocol

Object

Informações de protocolo.

Tabela 9 token.user.OS-FEDERATION.groups

Parâmetro

Tipo

Descrição

id

String

ID do grupo de usuários.

name

String

Nome do grupo de usuários.

Tabela 10 token.user.OS-FEDERATION.identity_provider

Parâmetro

Tipo

Descrição

id

String

ID do provedor de identidade.

Tabela 11 token.user.OS-FEDERATION.protocol

Parâmetro

Tipo

Descrição

id

String

ID do protocolo.

Exemplo de solicitação

Solicitação para obter um token sem escopo (iniciado pelo IdP)

POST https://iam.myhuaweicloud.com/v3.0/OS-FEDERATION/tokens
SAMLResponse=PD94b...

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": [
            "mapped"
        ],
        "issued_at": "2020-02-12T14:21:34.042000Z",
        "user": {
            "OS-FEDERATION": {
                "identity_provider": {
                    "id": "ACME"
                },
                "protocol": {
                    "id": "saml"
                },
                "groups": [
                    {
                        "id": "06aa22601502cec4a23ac0084a74038f",
                        "name": "admin"
                    }
                ]
            },
            "domain": {
                "name": "IAMDomain",
                "id": "06ba0970a097acc0f36c0086bb6cfe0"
            },
            "name": "FederationUser",
            "id": "LdUTYSC7zmJVIic3yaCbLBXDxPAdDxLg"
        }
    }
}

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