检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
函数代码获取的请求参数与API网关自定义认证中的参数关系为:函数请求参数中的自定义用户数据对应API网关自定义认证中的用户数据,参数值在您创建API网关自定义认证时输入,用户数据格式不限制,您可以自行指定。
身份来源 设置用于认证的请求参数,支持添加Header参数和Query参数,其中Header的参数名不区分大小写。 当“类型”为“前端”,且“缓存时间”不为0时,必须设置此参数。使用缓存时,此参数将作为搜索条件来查询认证结果。 缓存时间 设置认证结果缓存的时间。
最小长度:1 最大长度:64 状态码: 400 表25 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 401 表26 响应Body参数 参数 参数类型 描述 error_code String
名称 是否必选 类型 说明 name 是 String 参数名称 location 是 String 参数位置: HEADER:头 QUERY:query 请求消息样例: { "name":"Authorizer_9dlh", "type":"FRONTEND",
vpc_channel_id 是 String VPC通道的编号 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。
参数位置 仅在“条件来源”为“请求入参”时,展示请求入参的参数位置。 条件类型 仅在“条件来源”为“请求入参”、“系统参数”、“COOKIE”时需要配置。 相等:请求参数值必须为输入值时,条件成立。 枚举:请求参数值只需要和枚举值中任何一个值相同,条件成立。
FRONTEND:前端 BACKEND:后端 表2 Identity 参数 是否必选 类型 说明 name 是 String 参数名称。 location 是 String 参数位置。 validation 否 String 参数校验表达式,默认为null,不做校验。
Integer 带宽大小 状态码: 401 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 403 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码
配置API后端 在API的后端设置页面添加策略后端,策略条件的条件来源选择“系统参数-前端认证参数”,并完善参数名称、条件类型、条件值等,其中参数名称和条件值要与前端自定义认证函数返回值中context字段下的键值对一致。
定义参数 定义用于规则匹配的参数。建议不要设置敏感信息,以防泄露。 参数位置:参数在API请求中的位置。 参数:用于做规则匹配的参数名。 系统默认包含reqPath(请求路径)和method(请求方法)参数。单击“添加参数”,可添加其他匹配参数。
请求消息 表3 参数说明 参数 是否必选 类型 说明 name 是 String 环境的名称 支持英文,数字,下划线,且只能以英文字母开头,3 ~ 64字符。
响应缓存键 配置参数作为响应缓存键,用于区分不同的缓存。 system_params类型:配置不同的网关内置系统参数作为响应缓存键来区分缓存。配置参数请参考网关内置参数。 parameters类型:配置不同的请求query参数作为响应缓存键来区分缓存。
目前仅支持name 请求消息 无 响应消息 表3 参数说明 名称 类型 说明 total Integer 符合条件的环境总数 size Integer 本次返回的列表长度 envs 字典数据类型 本次返回的环境列表 表4 envs参数说明 参数 类型 说明 id String 环境
如果API未绑定流量控制2.0策略,流控限制值为实例“配置参数”中“ratelimit_api_limits”的参数运行值。 如果一个API绑定传统流量控制策略后,继续绑定流量控制2.0策略,传统流量控制策略会失效。 参数流控的规则最多可定义100个。
对于每个参数,追加“URI编码的参数名称=URI编码的参数值”。如果没有参数值,则以空字符串代替,但不能省略“=”。 例如以下含有两个参数,其中第二个参数parm2的值为空。 parm1=value1&parm2= 按照字符代码以升序顺序对参数名进行排序。
配置参数流控 开启参数流控配置开关,定义参数和规则,配置参数流量控制。 配置特殊流控 开启特殊流控配置开关,特殊凭据与特殊租户流量控制的使用场景。 绑定API 流量控制2.0策略绑定到API。 验证 通过相应的请求URL调用API,验证流量控制2.0策略是否生效。
如果认证通过,函数返回的context信息,可以传到后端,配置方式如下: 编辑API,在后端服务页面,添加系统参数,参数类型为前端认证参数,系统参数名称填自定义认证函数中context中的字段,后端参数名称和位置填需要传入到后端请求的参数名和位置。
后端参数映射的请求参数未定义 后端参数中的参数来源,改为正确的请求参数 400 APIG.2029 The default certificate already exists.
表1 HTTP/HTTPS请求方法以及URI 请求方法 URI POST /v1.0/apigw/envs 请求消息 表2 参数说明 参数 是否必选 类型 说明 name 是 String 环境的名称 支持英文,数字,下划线,且只能以英文字母开头,3 ~ 64字符。
无 响应消息 表3 参数说明 名称 类型 说明 total Integer 符合条件的环境总数 size Integer 本次返回的列表长度 envs 字典数据类型 本次返回的环境列表 表4 envs参数说明 参数 类型 说明 id String 环境ID name String