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

Creación de un autorizador personalizado

Función

Esta API se utiliza para crear un autorizador personalizado.

URI

POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers

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

name

String

Nombre personalizado del autorizador.

Puede contener de 3 a 64 caracteres, empezando por una letra. Solo se permiten letras, dígitos y guiones bajos (_).

type

String

Tipo de autorizador personalizado.

  • FRONTEND

  • BACKEND

No se permite la modificación.

Valores de enumeración:

  • FRONTEND

  • BACKEND

authorizer_type

String

Valor: FUNC.

Valores de enumeración:

  • FUNC

authorizer_uri

String

Función URN.

authorizer_version

No

String

Versión de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

Máximo: 64

authorizer_alias_uri

No

String

URN de alias de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

identities

No

Array of Identity objects

Fuente de identidad.

ttl

No

Integer

Vigencia máxima de la caché.

user_data

No

String

Datos de usuario.

ld_api_id

No

String

ID de backend personalizado.

Actualmente, este parámetro no es compatible.

need_body

No

Boolean

Indica si se debe enviar el cuerpo.

Tabla 4 Identity

Parámetro

Obligatorio

Tipo

Descripción

name

String

Nombre del parámetro.

location

String

Ubicación del parámetro.

Valores de enumeración:

  • HEADER

  • QUERY

validation

No

String

Expresión de verificación de parámetros. El valor predeterminado es nulo, lo que indica que no se realiza ninguna verificación.

Parámetros de respuesta

Código de estado: 201

Tabla 5 Parámetros de body de respuesta

Parámetro

Tipo

Descripción

name

String

Nombre personalizado del autorizador.

Puede contener de 3 a 64 caracteres, empezando por una letra. Solo se permiten letras, dígitos y guiones bajos (_).

type

String

Tipo de autorizador personalizado.

  • FRONTEND

  • BACKEND

No se permite la modificación.

Valores de enumeración:

  • FRONTEND

  • BACKEND

authorizer_type

String

Valor: FUNC.

Valores de enumeración:

  • FUNC

authorizer_uri

String

Función URN.

authorizer_version

String

Versión de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

Máximo: 64

authorizer_alias_uri

String

URN de alias de función.

Si se pasa un URN de alias de función y una versión, se usará el URN de alias y se ignorará la versión.

identities

Array of Identity objects

Fuente de identidad.

ttl

Integer

Vigencia máxima de la caché.

user_data

String

Datos de usuario.

ld_api_id

String

ID de backend personalizado.

Actualmente, este parámetro no es compatible.

need_body

Boolean

Indica si se debe enviar el cuerpo.

id

String

ID de autorizador personalizado.

create_time

String

Hora de creación.

roma_app_id

String

ID de la aplicación a la que pertenece el autorizador personalizado.

Actualmente, este parámetro no es compatible.

roma_app_name

String

Nombre de la aplicación a la que pertenece el autorizador personalizado.

Actualmente, este parámetro no es compatible.

Tabla 6 Identity

Parámetro

Tipo

Descripción

name

String

Nombre del parámetro.

location

String

Ubicación del parámetro.

Valores de enumeración:

  • HEADER

  • QUERY

validation

String

Expresión de verificación de parámetros. El valor predeterminado es nulo, lo que indica que no se realiza ninguna verificación.

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

{
  "name" : "Authorizer_demo",
  "type" : "FRONTEND",
  "authorizer_type" : "FUNC",
  "authorizer_uri" : "urn:fss:xx-xxx:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814",
  "authorizer_version" : "v1",
  "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1",
  "identities" : [ {
    "name" : "header",
    "location" : "HEADER"
  } ],
  "user_data" : "authorizer_test"
}

Ejemplo de respuestas

Código de estado: 201

Created

{
  "name" : "Authorizer_demo",
  "type" : "FRONTEND",
  "authorizer_type" : "FUNC",
  "authorizer_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814",
  "authorizer_version" : "v1",
  "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1",
  "identities" : [ {
    "name" : "header",
    "location" : "HEADER"
  } ],
  "ttl" : 0,
  "user_data" : "authorizer_test",
  "id" : "0d982c1ac3da493dae47627b6439fc5c",
  "create_time" : "2020-07-31T11:55:43Z"
}

Código de estado: 400

Bad Request

{
  "error_code" : "APIG.2011",
  "error_msg" : "Invalid parameter value,parameterName:type. 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.3019",
  "error_msg" : "The function URN 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.