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 invocar a la API utilizando tanto el punto de conexión global como los puntos de conexión específicos de la región. Para los puntos de conexión de IAM, consulte Regiones y puntos de conexión.
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 |
Token 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.
NOTA:
El valor es una hora UTC en el formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por ejemplo, 2023-06-28T08:56:33.710000Z. Para obtener más información sobre los formatos de fecha y hora, consulte ISO-8601. |
methods |
Array of strings |
Token obtaining method. El valor predeterminado para la autenticación federada es mapped. |
issued_at |
String |
Hora en que se emitió el token.
NOTA:
El valor es una hora UTC en el formato AAAA-MM-DDTHH:mm:ss.ssssssZ, por ejemplo, 2023-06-28T08:56:33.710000Z. Para obtener más información sobre los formatos de fecha y hora, consulte ISO-8601. |
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID de permiso. |
name |
String |
Nombre del permiso. |
Parámetro |
Tipo |
Descripción |
---|---|---|
id |
String |
ID de punto de conexión. |
interface |
String |
Visibilidad de la API. public indica que la API está disponible para el acceso público. |
region |
String |
Región a la que pertenece el punto de conexión. |
region_id |
String |
ID de región. |
url |
String |
URL de punto de conexión. |
Ejemplo de solicitud
Solicitud para obtener un token sin alcance con un token ID de OpenID Connect
POST https://{address}/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/auth
Ejemplo de 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.