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
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
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 |
Sí |
String |
Gateway ID, que se puede obtener de la información de gateway en la consola APIG. |
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
X-Auth-Token |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
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 |
Sí |
String |
Tipo de autorizador personalizado.
No se permite la modificación. Valores de enumeración:
|
authorizer_type |
Sí |
String |
Valor: FUNC. Valores de enumeración:
|
authorizer_uri |
Sí |
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. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
name |
Sí |
String |
Nombre del parámetro. |
location |
Sí |
String |
Ubicación del parámetro. Valores de enumeración:
|
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
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.
No se permite la modificación. Valores de enumeración:
|
authorizer_type |
String |
Valor: FUNC. Valores de enumeración:
|
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. |
Parámetro |
Tipo |
Descripción |
---|---|---|
name |
String |
Nombre del parámetro. |
location |
String |
Ubicación del parámetro. Valores de enumeración:
|
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
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 401
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 403
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 404
Parámetro |
Tipo |
Descripción |
---|---|---|
error_code |
String |
Código de error. |
error_msg |
String |
Mensaje de error. |
Código de estado: 500
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.