Obtenção de um token sem escopo com um token de ID do OpenID Connect
Função
Essa API é usada para obter um token sem escopo usando um token do ID do OpenID Connect.
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.
URI
POST /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
|---|---|---|---|
|
idp_id |
Sim |
String |
Nome do provedor de identidade. |
|
protocol_id |
Sim |
String |
ID do protocolo. |
Parâmetros de solicitação
|
Parâmetro |
Obrigatório |
Tipo |
Descrição |
|---|---|---|---|
|
Authorization |
Sim |
String |
Token de ID do provedor de identidade. O formato é Bearer {ID Token}. |
Parâmetros de resposta
Código de status: 201
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
X-Subject-Token |
String |
Token assinado. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
object |
Detalhes sobre o token obtido. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
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 de obtenção de token. O valor padrão para autenticação federada é mapped. |
|
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. |
|
object |
Detalhes do usuário. |
|
|
Array of objects |
Detalhes da função ou política. |
|
|
Array of objects |
Detalhes do catálogo. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
object |
Detalhes do usuário federado. |
|
|
object |
Detalhes da conta. |
|
|
id |
String |
ID do usuário. |
|
name |
String |
Nome de usuário. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
object |
Detalhes do provedor de identidade. |
|
|
object |
Detalhes do protocolo. |
|
|
Array of objects |
Detalhes do grupo de usuários. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
id |
String |
ID do grupo de usuários. |
|
name |
String |
Nome do grupo de usuários. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
id |
String |
ID de permissão. |
|
name |
String |
Nome de permissão. |
|
Parâmetro |
Tipo |
Descrição |
|---|---|---|
|
id |
String |
ID do ponto de extremidade. |
|
interface |
String |
Visibilidade da API. public indica que a API está disponível para acesso público. |
|
region |
String |
Região à qual o ponto de extremidade pertence. |
|
region_id |
String |
ID da região. |
|
url |
String |
URL do ponto de extremidade. |
Exemplo de solicitação
Solicitação para obter um token sem escopo com um token de ID do OpenID Connect
POST https://{address}/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
Exemplo de resposta
Código de status: 201
O token é obtido com sucesso.
{
"token" : {
"expires_at" : "2018-03-13T03:00:01.168000Z",
"methods" : [ "mapped" ],
"issued_at" : "2018-03-12T03:00:01.168000Z",
"user" : {
"OS-FEDERATION" : {
"identity_provider" : {
"id" : "idptest"
},
"protocol" : {
"id" : "oidc"
},
"groups" : [ {
"name" : "admin",
"id" : "45a8c8f..."
} ]
},
"domain" : {
"id" : "063bb260a480...",
"name" : "IAMDomain"
},
"name" : "FederationUser",
"id" : "suvmgvUZc4PaCOEc..."
}
}
}
Código de status: 400
Parâmetros inválidos.
{
"error" : {
"code" : 400,
"message" : "Request parameter 'idp id' is invalid.",
"title" : "Bad Request"
}
}
Código de status: 401
Falha na autenticação.
{
"error" : {
"code" : 401,
"message" : "The request you have made requires authentication.",
"title" : "Unauthorized"
}
}
Código de status: 403
Acesso negado.
{
"error" : {
"code" : 403,
"message" : "You are not authorized to perform the requested action.",
"title" : "Forbidden"
}
}
Código de status: 404
O servidor não conseguiu encontrar a página solicitada.
{
"error" : {
"code" : 404,
"message" : "Could not find %(target)s: %(target_id)s.",
"title" : "Not Found"
}
}
Código de status: 500
Erro do sistema interno.
{
"error" : {
"code" : 500,
"message" : "An unexpected error prevented the server from fulfilling your request.",
"title" : "Internal Server Error"
}
}
Códigos de status
|
Código de status |
Descrição |
|---|---|
|
201 |
O token é obtido com sucesso. |
|
400 |
Parâmetros inválidos. |
|
401 |
Falha na autenticação. |
|
403 |
Acesso negado. |
|
404 |
O servidor não conseguiu encontrar a página solicitada. |
|
500 |
Erro do sistema interno. |
Códigos de erro
Para obter detalhes, consulte Códigos de erro.