Obtención de un token sin ámbito con un token ID de OpenID Connect
Función
Esta API se utiliza para obtener un token sin alcance usando un token de ID de conexión de OpenID.
Se puede llamar a la API utilizando tanto el endpoint global como los endpoints específicos de la región. Para los endpoints de IAM, consulte Regiones y endpoint.
URI
POST /v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
idp_id |
Sí |
String |
Nombre del proveedor de identidad. |
protocol_id |
Sí |
String |
ID del protocolo. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
Authorization |
Sí |
String |
Token de ID del proveedor de identidad. El formato es Bearer {ID Token}. |
Parámetros de respuesta
Código de estado: 201
Parámetro |
Tipo |
Descripción |
---|---|---|
X-Subject-Token |
String |
Signo firmado. |
Parámetro |
Tipo |
Descripción |
---|---|---|
object |
Detalles sobre el token obtenido. |
Parámetro |
Tipo |
Descripción |
---|---|---|
expires_at |
String |
Hora en que caducará el token. |
methods |
Array of strings |
Método de obtención de tokens. El valor predeterminado para la autenticación federada es mapped. |
issued_at |
String |
Hora en que se emitió el token. |
object |
Detalles del usuario. |
|
Array of objects |
Detalles del rol o de la política. |
|
Array of objects |
Detalles del catálogo. |
Parámetro |
Tipo |
Descripción |
---|---|---|
object |
Detalles de usuario federados. |
|
object |
Detalles de la cuenta. |
|
id |
String |
ID de usuario. |
name |
String |
Nombre de usuario. |
Parámetro |
Tipo |
Descripción |
---|---|---|
object |
Detalles del proveedor de identidad. |
|
object |
Detalles del protocolo. |
|
Array of objects |
Detalles del grupo de usuarios. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID de grupo de usuarios. |
name |
String |
Nombre del grupo de usuarios. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID de cuenta. |
name |
String |
Nombre de cuenta. |
Ejemplo de la solicitud
POST https://{address}/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
Ejemplo de la respuesta
Código de estado: 201
El token se obtiene con éxito.
{ "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 estado: 400
Parámetros no válidos.
{ "error" : { "code" : 400, "message" : "Request parameter 'idp id' is invalid.", "title" : "Bad Request" } }
Código de estado: 401
Error de autenticación.
{ "error" : { "code" : 401, "message" : "The request you have made requires authentication.", "title" : "Unauthorized" } }
Código de estado: 403
Acceso denegado.
{ "error" : { "code" : 403, "message" : "You are not authorized to perform the requested action.", "title" : "Forbidden" } }
Código de estado: 404
No se pudo encontrar la página solicitada.
{ "error" : { "code" : 404, "message" : "Could not find %(target)s: %(target_id)s.", "title" : "Not Found" } }
Código de estado: 500
Error interno del sistema.
{ "error" : { "code" : 500, "message" : "An unexpected error prevented the server from fulfilling your request.", "title" : "Internal Server Error" } }
Códigos de estado
Código de estado |
Descripción |
---|---|
201 |
El token se obtiene con éxito. |
400 |
Parámetros no válidos. |
401 |
Error de autenticación. |
403 |
Acceso denegado. |
404 |
No se pudo encontrar la página solicitada. |
500 |
Error interno del sistema. |
Códigos de error
Para obtener más información, consulte Códigos de error.