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 2023-03-29 GMT+08:00

Autorización de aplicaciones

Función

Una aplicación no puede acceder a ninguna API después de haber sido creada. Para acceder a una API en un entorno específico, vincule la aplicación a la API en el entorno.

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths

Tabla 1 Parámetros de path

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener detalles sobre cómo obtener un ID de proyecto, consulte "Apéndice" > "Obtención de un ID de proyecto" en este documento.

instance_id

String

Gateway ID, que se puede obtener de la información de gateway en la consola APIG.

Parámetros de solicitud

Tabla 2 Parámetros de encabezado de solicitud

Parámetro

Obligatorio

Tipo

Descripción

X-Auth-Token

String

Token de usuario. Se puede obtener llamando a la API de IAM utilizada para obtener un token de usuario. El valor de X-Subject-Token en el encabezado de respuesta es un token.

Tabla 3 Parámetros de body de solicitud

Parámetro

Obligatorio

Tipo

Descripción

env_id

String

ID del entorno en el que se autorizarán las aplicaciones.

app_ids

Array of strings

ID de aplicaciones.

api_ids

Yes

Array of strings

Lista de API.You can specify both self-developed and purchased APIs.

Parámetros de respuesta

Código de estado: 201

Tabla 4 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

auths

Array of ApiAuthRelations objects

Registros de autorización de aplicaciones.

Tabla 5 ApiAuthRelations

Parámetro

Tipo

Descripción

api_id

String

ID de API.

auth_result

AuthResult object

Resultado de la autorización.

auth_time

String

Tiempo de autorización.

id

String

ID de registro de autorización.

app_id

String

ID de la aplicación.

auth_role

String

Autorizador.

  • PROVIDER: Proveedor de API

  • CONSUMER: usuario de la API

Valores de enumeración:

  • PROVIDER

  • CONSUMER

auth_tunnel

String

Tipo de canal de autorización.

  • NORMAL: canal normal

  • GREEN: canal verde

El valor predeterminado es NORMAL. Este parámetro no se admite actualmente.

Valores de enumeración:

  • NORMAL

  • GREEN

auth_whitelist

Array of strings

Lista blanca para el canal verde.

auth_blacklist

Array of strings

Lista negra para el canal verde.

visit_params

String

Parámetros de acceso.

Tabla 6 AuthResult

Parámetro

Tipo

Descripción

status

String

Resultado de la autorización.

  • SUCCESS

  • SKIPPED

  • FAILED

Valores de enumeración:

  • SUCCESS

  • SKIPPED

  • FAILED

error_msg

String

Mensaje de error.

error_code

String

Código de error.

api_name

String

Nombre de la API para la que falla la autorización.

app_name

String

Nombre de la aplicación que no está autorizada.

Código de estado: 400

Tabla 7 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 401

Tabla 8 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 403

Tabla 9 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 404

Tabla 10 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Código de estado: 500

Tabla 11 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

error_code

String

Código de error.

error_msg

String

Mensaje de error.

Solicitudes de ejemplo

{
  "env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
  "app_ids" : [ "356de8eb7a8742168586e5daf5339965" ],
  "api_ids" : [ "5f918d104dc84480a75166ba99efff21" ]
}

Ejemplo de respuestas

Código de estado: 201

Created

{
  "auths" : [ {
    "api_id" : "5f918d104dc84480a75166ba99efff21",
    "auth_result" : {
      "status" : "SUCCESS"
    },
    "auth_time" : "22020-08-04T04:02:22.482227344Z",
    "id" : "dd29b33ae4394e3b924b582c6b40880b",
    "app_id" : "356de8eb7a8742168586e5daf5339965",
    "auth_role" : "PROVIDER",
    "auth_tunnel" : "NORMAL"
  } ]
}

Código de estado: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:api_ids. Please refer to the support documentation"
}

Código de estado: 401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

Código de estado: 403

Forbidden

{
  "error_code" : "APIG.1005",
  "error_msg" : "No permissions to request this method"
}

Código de estado: 404

Not Found

{
  "error_code" : "APIG.3004",
  "error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist"
}

Código de estado: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

Códigos de estado

Código de estado

Descripción

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

Códigos de error

Consulte Códigos de error.