Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-08 GMT+08:00

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

Tabla 1 Parámetros de URI

Parámetro

Obligatorio

Tipo

Descripción

idp_id

String

Nombre del proveedor de identidad.

protocol_id

String

ID del protocolo.

Parámetros de solicitud

Tabla 2 Parámetros en el encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

Authorization

String

Token de ID del proveedor de identidad. El formato es Bearer {ID Token}.

Parámetros de respuesta

Código de estado: 201

Tabla 3 Parámetros en el encabezado de respuesta

Parámetro

Tipo

Descripción

X-Subject-Token

String

Signo firmado.

Tabla 4 Parámetros en el cuerpo de respuesta

Parámetro

Tipo

Descripción

token

object

Detalles sobre el token obtenido.

Tabla 5 UnscopedTokenInfo

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.

user

object

Detalles del usuario.

roles

Array of objects

Detalles del rol o de la política.

catalog

Array of objects

Detalles del catálogo.

Tabla 6 FederationUserBody

Parámetro

Tipo

Descripción

OS-FEDERATION

object

Detalles de usuario federados.

domain

object

Detalles de la cuenta.

id

String

ID de usuario.

name

String

Nombre de usuario.

Tabla 7 OSFederationInfo

Parámetro

Tipo

Descripción

identity_provider

object

Detalles del proveedor de identidad.

protocol

object

Detalles del protocolo.

groups

Array of objects

Detalles del grupo de usuarios.

Tabla 8 IdpIdInfo

Parámetro

Tipo

Descripción

id

String

ID de proveedor de identidad.

Tabla 9 ProtocolIdInfo

Parámetro

Tipo

Descripción

id

String

ID del protocolo.

Tabla 10 token.user.OS-FEDERATION.groups

Parámetro

Tipo

Descripción

id

String

ID de grupo de usuarios.

name

String

Nombre del grupo de usuarios.

Tabla 11 DomainInfo

Parámetro

Tipo

Descripción

id

String

ID de cuenta.

name

String

Nombre de cuenta.

Tabla 12 token.roles

Parámetro

Tipo

Descripción

id

String

Permission ID.

name

String

Permission name.

Tabla 13 token.catalog

Parámetro

Tipo

Descripción

id

String

ID de endpoint

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 endpoint.

region_id

String

ID de región.

url

String

URL de endpoint

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.