API网关 APIG-使用FunctionGraph服务实现APIG的自定义认证:设置错误响应

时间:2025-03-06 16:52:58

设置错误响应

调用API如果输入错误的认证信息,则返回结果如下:

1
{"error_msg":"Incorrect authentication information: frontend authorizer","error_code":"APIG.0305","request_id":"36e42b3019077c2b720b6fc847733ce9"}

为了让API响应结果为函数中返回的context中的字段(如果您使用的是专享版网关,并且实例支持authorizer_context_support_num_bool特性,那么context中的value的类型可以为boolean类型或number类型),需要修改网关响应模板。在API所在分组中,“分组信息”页签下的“网关响应”区域,编辑自定义认证失败的响应详情,将响应状态码改为401,将消息模板改为(引用变量为boolean类型或number类型时,变量不需要加双引号):

1
{"code":"$context.authorizer.frontend.code","message":"$context.authorizer.frontend.message", "authorizer_success": "$context.authorizer.frontend.authorizer_success"}

修改之后,调用API传入错误的认证信息,返回状态码为401,返回结果如下:

1
 {"code":"1001","message":"incorrect username or password","authorizer_success": "false"}
support.huaweicloud.com/bestpractice-apig/apig-bp-200706001.html