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
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. |
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:
- 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
- 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
Parâmetro |
Tipo |
Descrição |
---|---|---|
X-Subject-Token |
String |
Token assinado sem escopo. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
Object |
Detalhes do token sem escopo. |
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. |
Object |
Informações sobre o usuário do IAM que solicita o token. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
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. |
Object |
Informações de autenticação de identidade federada. |
Parâmetro |
Tipo |
Descrição |
---|---|---|
name |
String |
Nome da conta. |
id |
String |
ID da conta. |
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 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